[0001] The present invention relates to a device, system and method for position signal
filtering in active heave compensation. More particularly, the invention relates to
a method, device and system where input data to a Kalman filter is pre-filtered and
forecasted to improve positioning in active heave compensation. The invention also
relates to a non-transitory computer readable medium encoded with instructions that,
when executed by a control unit, cause the control unit to execute the method.
[0002] Wave-generated motion of floating vessels is usually measured by a so-called motion
reference unit (MRU). MRUs measure vessel motion from typically 6 sensors: 3 accelerometers
and 3 gyros. The accelerometers pick up accelerations along 3 perpendicular axes while
the gyros measure the angular acceleration around the same axes. The sensors cover
a range of frequencies spanning typically from 0 to 100 Hz. By advanced signal processing
a MRU is able to estimate linear and angular accelerations, velocities and positions
in any direction and at any predetermined measurement point of the vessel. The details
on how sensor signals are combined to determine the heave acceleration at the vessel
center of gravity, are known to the person skilled in the art but are outside the
scope of this description. Instead the present disclosure will concentrate on the
basic processes of pre-filtering and forecasting acceleration data for the calculation
of velocity data as input to a Kalman filter. A Kalman filter is an algorithm that
uses a series of measurements observed over time, containing statistical noise and
other inaccuracies, and produces estimates of unknown variables that tend to be more
accurate than those based on a single measurement alone, by estimating a joint probability
distribution over the variables for each timeframe.
[0003] Mathematically, velocity equals the time integral of acceleration and position equals
the time integral of velocity. However, because the accelerometers are not perfect
but possess some small but finite noise, it is not possible to derive true velocity
or positions from the accelerometer signals by pure integration. Even a tiny offset
error or false low frequency component will grow to very high values during some extended
integration time interval with some type of filter. A standard Kalman or extended
Kalman filter will provide satisfactory results under certain conditions, but often
this is not sufficient. No physical wave model is available for Kalman filters, so
in case of input acceleration data noise or even void data points, predictions need
to be made based on previous input acceleration data points, which causes signal delays.
[0004] The invention has for its object to remedy or to reduce at least one of the drawbacks
of the prior art, or at least provide a useful alternative to prior art.
[0005] The object is achieved through features, which are specified in the description below
and in the claims that follow.
[0006] In a first aspect, the invention relates to an apparatus for filtering and forecasting
of acceleration data from an MRU as set forth in claim 1.
[0007] In a second aspect, the invention relates to a system for controlling the position
of a load on a rig or vessel as set forth in claim 3.
[0008] In a third aspect, the invention relates to a rig or vessel including the system
according to the second aspect.
[0009] In a fourth aspect, the invention relates to a method for filtering and forecasting
of acceleration data from an MRU as set forth in claim 7.
[0010] In a fifth aspect, the invention relates to a non-transitory computer readable medium
encoded with instructions that, when executed by a control unit, cause the control
unit to execute the method according to the fourth aspect.
[0011] In the following is described an example of a preferred embodiment illustrated in
the accompanying drawings, wherein:
- Fig. 1
- shows schematically a system according to the second aspect of the invention;
- Fig. 2
- shows an active heave compensation module as being controlled by the system in Fig.
1;
- Fig. 3
- shows a block diagram for filtering and forecasting of acceleration data from a motion
reference unit;
- Fig. 4
- shows a block diagram for filtering and forecasting of velocity data based on filtered
and forecasted acceleration data from Fig. 3;
- Fig. 5
- shows a block diagram for calculation of position based on the output from Fig. 4;
- Fig. 6
- shows input and forecasted acceleration data;
- Fig. 7
- shows input, forecasted and filtered velocity compared with unfiltered calculated
velocity;
- Fig. 8
- shows a detailed view of the graph from Fig. 7;
- Fig. 9
- shows input and forecasted acceleration data compared with actual (real) acceleration
data; and
- Fig. 10
- shows the simulated load position error when the load is compensated by means of an
active heave compensation module according to the invention.
[0012] In the following, the reference numeral 1 will be used to denote an apparatus according
the first aspect of the invention, whereas the reference numeral 10 will be used to
denote a system according to the second aspect of the invention. The drawings, graphs
and flow diagrams are shown schematically and simplified, and various features in
the drawings are not necessarily drawn to scale.
[0013] Figure 1 shows, very schematically, a system 10 for controlling the position of a
load on a rig or vessel. The system includes an apparatus 1, denoted "Filter & Integrator"
in the figure, for filtering a forecasting of acceleration data from a motion reference
unit (MRU) 2. The MRU 2 samples the acceleration, from the influence of waves and
wind, of a not shown rig or vessel. The sampling frequency (1/
Δt, where Δt is used in Figs. 3-5 to denote the time between two samples) may vary in
different situations, but in exemplary embodiments the sampling frequency may be in
the order to 100Hz or higher. In certain embodiment the sampling frequency may be
in the order or 500 Hz or higher. The apparatus 1 receives the acceleration data from
the MRU 2 and integrates, pre-filters and forecasts it before it is transmitted to
a controller 4 provided with a Kalman filter for further processing of velocity data
and ultimately for calculating the position of the rig or vessel. In addition to the
filtering of acceleration data from the MRU 1, the apparatus is also adapted to build
a string of values based on deviation between instant and previous acceleration data
points for forecasting of acceleration data in case of noise or void data points as
will be explained below with reference to Figs. 3-5. Based on the input from the apparatus
1, the controller 4 is adapted to calculate a change in position of the rig or vessel,
and to operate a heave compensator 6, see Fig. 2, by regulating a pump or valve 8
of the heave compensator 6 to counteract the movements of the vessel in order to keep
a not shown load fixed relative to the seabed or another reference point. In certain
situations, instead of keeping the load still, it may be desirable to move the load
with a fixed speed relative to the seabed, where the relative movement between load
and rig or vessel may also be measured and supplied to the controller 4. The relative
movement may e.g. be measured by controlling hoisting speed of a wire rope in a not
shown crane or top drive, as will be understood by a person skilled in the art.
[0014] An exemplary hydraulic heave compensator 6 is shown in Fig. 2, wherein hydraulic
pistons 12 are operated to counteract the movement/heave of the rig or vessel due
to waves and wind. An exemplary, schematically shown load-handling device 14, is here
represented by two sheaves over which a wire rope is running. The controller 4 is
adapted to control the hydraulic pistons 12 to lower and raise the platform 16 to
which the sheaves 14 are connected in response to the calculated change of position.
[0015] Fig. 3 shows a flow diagram exemplifying the steps taken by the apparatus according
to the present invention as well as in the method according to the present invention
to provide an instant output acceleration data point. A series of acceleration data
points are sampled by the MRU 2 and transmitted to the apparatus 1. The latest/current
acceleration data point will herein be referred to as an instant acceleration data
point. Acceleration data points sampled at previous points in time,
i.e. before the instant acceleration data point, will be referred to as previous acceleration
data points. In step 3A an instant, measured acceleration data point
an for point
n in time is sampled and transmitted to the apparatus 1 for any n larger than
nk, where n
k is a number of samples needed to start the calculations.
nk will vary in different embodiments and will also be dependent on the sampling time,
but in certain embodiments
nk may be in the order of 5 or 10. In step 3B an instant change in acceleration
atn between the instant measured acceleration data point
an and the immediate previous output acceleration data point
afn-1 over the sampling period
Δt is calculated. The derivate of acceleration with respect to time is sometimes also
referred to as "jerk", whereby
atn may be regarded as the instant jerk. An average change in acceleration
asn over
nk samples is calculated in step 3C. In step 3D the difference between the average change
in acceleration and the immediate, previous average change in acceleration
kn is calculated. The average
kn over
ns samples, denoted
ksn,, is then then eventually calculated in step 3E.
ksn can be regarded as an arithmetic string of values that are used for forecasting acceleration
values in case of void or noisy acceleration data points as will now be explained.
In step 3F, the absolute value of
atn, i.e the instant change in acceleration over
Δt as calculated in step 3B, is checked towards a predetermined maximum value
atmax. This predetermined value may be set differently in different embodiments, for different
MRUs and in different weather conditions, but for any absolute value of
atn larger than
atmax the instant, measured acceleration data point
an in step 3A will assumed to be noise and therefore disregarded. Similarly, if the
instant measured/sampled acceleration data point
an from step 3A or the immediate, previous sampled acceleration data point
an-1 is void (zero),
an from step 3A will also be disregarded. If
an is disregarded, then the process continues to the right in the flow diagram of Fig.
3, where the immediate previous calculated value
ksn-1 in the arithmetic string from step 3E is used to forecast an instant output, acceleration
data point. In step 3W, since the instant, sampled acceleration data point
an had to be disregarded, the previous calculated value
ksn-1 in the arithmetic string from step 3E is set as the instant value
ksn in the arithmetic string. Then, in step 3X an updated average change in acceleration
asn is calculated based on
ksn from step 3W and the immediate previous average change in acceleration
asn-1. In step 3Y the instant, output acceleration data point
afn is calculated based on the immediate, previous output acceleration data point
afn-1, the updated average change in acceleration
asn from step 3X and the sampling time
Δt. Finally, in step 3Z the calculated
asn from step 3X is set at
atn for use as future
atn-1 in step 3C. The forecasted acceleration data point
afn from step 3Y is thereby taken as output acceleration data point from the apparatus.
Alternatively, in step 3F, if the absolute value of
atn does not exceed
atmax and if neither of
an or
an-1 is void, then the instant, measured/sampled acceleration data point
an from step 3A is accepted as the instant output acceleration data point a
fn as shown in 3G. The acceleration forecast model, as calculated in steps 3A-E, is
also then also accepted, and
ksn is accepted as an updated data point in the arithmetic string and may be used in
a future
ksn-1 in step 3W in a situation where
atn is disregarded. In step 3H the measured or forecasted
afn is taken as output from the acceleration flow diagram. The pre-filtration and forecasting
of acceleration data points as exemplified in Fig. 3 will significantly improve the
quality of input velocity data points to a Kalman filter in the controller 4, as will
be explained with reference to the following figures.
[0016] In Fig. 4 an exemplary flow diagram shows how the acceleration output data points
from Fig. 3 are used to calculate both measured and modelled velocity data points
to the Kalman Filter in the controller 4. In step 4A, output acceleration data points
afn are taken from the algorithm in Fig. 3 for
n larger than
nc, where
nc is a number over which the change in output velocity will later be averaged.
nc may vary between different embodiments and in different weather conditions, and it
will also depend on the time between samples
Δt, but in certain embodiments
nc may be in the range of 5 or 10. In step 4B an instant velocity data point
vmn, without offset, is found from the immediate, previous velocity data point and the
integration of input acceleration from step 4A over
Δt. Similarly, in step 4C, instant position data point
s1n, without offset, is found from the immediate, previous position data point
s1n-1 and integration of the velocity from step 4B. In step 4D it is checked if
n is smaller than or equal to
ni, where
ni is a number/gate set to ensure a sufficient number of samples after start-up when
calculating the velocity offset
v0n. ni may in certain embodiments be a number that is large enough for the passing of one
or more heave periods, which are typically around 12 seconds each. In one specific
embodiment,
ni may be set to ensure the inclusion of around 5 heave periods, whereby
ni may be in the order of 6000 (1 minute of 100 Hz sampling frequency) or 30 000 (1
minute of 500 Hz sampling frequency). For
n≤
ni, then the method goes to the right in the flow diagram to step 4X, where the offset
is estimated as sum of position data points from start-up at
t0 to the present time
tn over the time lapsed. If a sufficient number of data points have been sampled,
i.e. if
n>
ni, then in step 4E the same calculation is done based on position data points from time
tn-ni. An actual measured instant, output velocity data point
vn, including offset
v0n, is then calculated in step 4F, and used as measurement input to the Kalman filter
in step 4M. In addition, a velocity model is built as a further input to the Kalman
filter based on previous output velocity data points from the Kalman filter, as will
be now be explained. In step 4G an instant change in output velocity
vtn is calculated based on the immediate two previous output velocity data points from
the Kalman filter
vfn-1 and
vfn-2. An average change in output velocity
vsn over
nc samples is calculated in step 4H, where
nc in exemplary embodiments may be in the order of 5 or 10, depending
i.a. on
Δt and the required accuracy. The difference in change in average output velocity
dvsn between the present value
vsn and the previous value
vsn-1 is calculated in step 41. In step 4J it is checked if the absolute value of
dvsn exceeds a pre-determined value
dvsmax. If the absolute value of
dvsn exceeds
dvsmax, then the instant calculated value of
dvsn will be disregarded, and the previous value
dvsn-1 will be used instead as indicated in step 4K. Normally, since the acceleration data
has already been filtered (as shown in Fig. 3), the absolute value of
dvsn will not be exceeding
dvsmax. The new (or optionally previous)
dvsn from step 4J (or optionally 4K), will then be used to calculate an instant modelled
velocity data point
ven in step 4L as input to the Kalman filter in step 4M. For calculating the instant
modelled velocity data point
ven in step 4L the immediate previous output velocity data point from the Kalman filter
vfn-1 is used together with
vsn from step 4H and
dvsn from step 4J (or optionally 4K) and
Δt. The instant modelled velocity data point
ven is then used as input to the Kalman filter together with the measured velocity
vn in step 4M. What happens "behind the curtains" of the Kalman filter is beyond the
scope of the present disclosure, but will be known to a person skilled in the art.
The Kalman filter produces an instant output velocity data point
vfn in step 4N.
[0017] In Fig. 5, the instant output velocity data point
vfn from Fig. 4 is used by the controller in step 5A.
vfn is then used, together an immediate previous position data point
smn-1 to find the immediate, instant position data point without offset
smn in step 5B. In step 5C an instant offset variable
stn is calculated based on an immediate previous offset variable
stn-1 and
smn from step 5B. In step 5D, a check is made to verify if
n is smaller than
nd where
nd is a number/gate set to ensure a sufficient number of samples after start-up when
calculating the position offset.
nd will typically be in the range 5 times
ni in step 4E. If
n ≤
nd, then the method goes to the right in the flow diagram to step 5X, where the position
offset is estimated as the sum of position data points
stn from start-up at
t0 to the present time
tn over the time lapsed. If a sufficient number of data points have been sampled,
i.e. if
n>nd, then in step 5E the same calculation is done based on position data points from time
tn-nd. A resulting instant calculated output
sfn from the controller is finally found in step 5F based on the integrated position
from step 5B and the calculated offset. The output
sfn represents the measure and calculated instant, output position of the rig or vessel
on which the system 10 and apparatus 1 are placed, and is used by the controller to
counteract the change in position by operating the heave compensator.
[0018] Fig. 6 shows MRU-sampled values
an (some of which have been manually spoiled to test the algorithm) together with the
output acceleration data values after filtering and forecasting. As can be seen in
the figure, "noisy" samples have been filtered out, and the algorithm of Fig. 3 still
produces a smooth acceleration output data curve.
[0019] In Fig. 7, the measured velocity
vn is shown together with the forecasted velocity
ven and the output from the Kalman filter
vfn. Velocity data output from the Kalman filter without the pre-filtering and forecasting
of acceleration data has also been shown, and as can be seen from the figure, the
pre-filtering and forecasting algorithm according to the present invention, significantly
improves the accuracy of the results. Fig. 8 is an enlarged view of a portion of the
graph from Fig. 7. As can be seen from Figs. 7 and 8, there is a very good match between
measurement and model inputs to the Kalman filter and the output from the filter when
the acceleration data has been pre-filtered and forecasted.
[0020] Fig. 9 shows a comparison between the input, sampled acceleration data
an, acceleration data with filtration and forecasting
afn compared to real acceleration data as found by means of Jonswap wave model, as will
be understood by a person skilled in the art and not disussed in further detail herein.
As can be seen, there is a remarkably good fit between the forecasted acceleration
data and the real model, despite noise in the input samples.
[0021] Fig. 10 shows load position error in active heave compensation based on input to
the heave compensator from the system 10 according to the present invention. As can
be seen from the figure, it is possible to keep a 100mT load fixed within an error
margin of approximately ± 10 cm.
[0022] It should be noted that the above-mentioned embodiments illustrate rather than limit
the invention, and that those skilled in the art will be able to design many alternative
embodiments without departing from the scope of the appended claims. In the claims,
any reference signs placed between parentheses shall not be construed as limiting
the claim. Use of the verb "comprise" and its conjugations does not exclude the presence
of elements or steps other than those stated in a claim. The article "a" or "an" preceding
an element does not exclude the presence of a plurality of such elements.
[0023] The mere fact that certain measures are recited in mutually different dependent claims
does not indicate that a combination of these measures cannot be used to advantage.
[0024] Aspects of invention may be implemented by means of hardware comprising several distinct
elements, and by means of a suitably programmed computer. In the device claim enumerating
several means, several of these means may be embodied by one and the same item of
hardware.
1. Apparatus for filtering and forecasting of acceleration data from a motion reference
unit, the apparatus being adapted to provide an instant output acceleration data point
by:
- receiving a plurality of measured acceleration data points from a motion reference
unit;
- based on the received, measured acceleration data points, calculate a deviation
in acceleration between an instant, measured acceleration data point and a previous
output acceleration data point;
(a) if the absolute value of the calculated deviation exceeds a predetermined value
or if the instant or previous, measured acceleration data point is void, then calculate
an instant, modelled acceleration data point based on average deviation between previous
acceleration data points and use modelled acceleration data point as instant acceleration
data point output; or
(b) if the absolute value of the calculated deviation does not exceed a predetermined
value and the instant or previous acceleration data points are not void, then accept
instant measured acceleration data point as acceleration data point output and use
the accepted instant acceleration data point to calculate an updated average deviation
between acceleration data points for forecasting of future acceleration data points
under (a); and
- use the instant acceleration data point output from (a) and/or (b) to calculate
an instant, measured velocity data point as input to Kalman filter.
2. The apparatus according to claim 1, wherein the apparatus is further adapted to calculate
an instant, modelled velocity data point based on average deviation between previous
output velocity data points from the Kalman filter, and to use the instant, modelled
velocity data point as a further input to the Kalman filter.
3. System for controlling the position of a load on a rig or vessel, the system comprising:
- an apparatus according to any one of the preceding claims;
- a motion reference unit adapted to provide acceleration data points to the apparatus;
and
- a controller including a Kalman filter, the Kalman filter being adapted to calculate
an instant output velocity data point based on the instant velocity data point from
the apparatus;
- the controller further being adapted to:
- calculate, based on the instant output velocity data point from the Kalman filter,
a position of the rig or vessel; and
- based on the calculated position of the rig or vessel, to compensate for the change
in position by sending a control signal to a heave compensator.
4. System according to the previous claim, wherein the system further is adapted to receive
information about relative movement between the load and the rig or vessel, and to
include this relative movement in the calculation of the position of the rig or vessel.
5. Vessel or rig including a system according to any one of the claims 3 or 4, where
in the rig or vessel further comprises:
- a load handling apparatus, such as a crane or a top drive; and
- an active heave compensator.
6. Vessel or rig according to the previous claim, wherein the active heave compensator
is a hydraulic heave compensator and wherein the controller is adapted to operate
a pump or a valve of the heave compensator to adjust the position of the load handling
apparatus.
7. Method for filtering and forecasting of acceleration data from a motion reference
unit, the method including the step of providing an instant output acceleration data
point by:
- measuring a plurality of acceleration data points;
- based on the measured acceleration data points; calculating a deviation in acceleration
between an instant, measured acceleration data point and a previous output acceleration
data point;
- (a) if the absolute value of the calculated deviation exceeds a predetermined value
or if the instant or previous, measured acceleration data point is void, then calculating
an instant, modelled acceleration data point based on average deviation between previous
acceleration data points and use modelled acceleration data point as instant acceleration
data point output; or
- (b) if the absolute value of the calculated deviation does not exceed a predetermined
value and the instant or previous acceleration data points are not void, then accepting
the instant measured acceleration data point as output instant acceleration data point
and use the accepted output instant acceleration data point to calculate an updated
average deviation between acceleration data points for forecasting of future acceleration
data points under (a); and
- using the instant acceleration data point output from (a) and/or (b) to calculate
an instant, measured velocity data point as input to a Kalman filter.
8. The method according to the previous claim, wherein the method further includes the
step of:
- calculating an instant, modelled velocity data point based on average deviation
between previous output velocity data points from the Kalman filter, and to use the
instant, modelled velocity data point as a further input to the Kalman filter.
9. Method for active heave compensation of a load on a rig or vessel, the method including
the steps of any one of the claims 7 or 8, and further the steps of:
- calculating an instant position of a load on a rig or vessel based on an instant
output velocity data point from the Kalman filter;
- operating a heave compensator to compensate for change in position between the instant,
calculated position and a previous calculated position.
10. Method according to the previous claim, wherein the step of operating a heave compensator
includes the step of operating a hydraulic pump or valve.
11. Method according to the previous claim, wherein the method further includes the steps
of:
- measuring the relative movement between the load and the rig or vessel, and
- including this relative movement in the calculation of instant position of the load.
12. Non-transitory computer-readable medium encoded with instructions that, when executed
by a control unit, cause the control unit to execute the method according to any one
of claim 7-11.