Patent ID: 12196557

DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT

FIG.1is a view of an exemplary marine environment100illustrating exemplary marine vessels105,110that may need to perform station keeping in accordance with an illustrative embodiment of the present invention. Environment100illustrates two differing marine vessels105,110for illustrative purposes. As will be appreciated by those skilled in the art, in real world applications, a marine vessel typically may be situated a substantial distance away from any other vessels, e.g., located above an oil well head in the middle of a body of water. Therefore, the depiction of two marine vessels105,110being in close proximity should be taken as exemplary to illustrate various examples of vessels that may need to perform station keeping. As will be appreciated by those skilled in the art, other vessels may need to perform a similar station keeping operation. It should be noted that while the present invention is written in terms of a marine vessel performing station keeping, the principles of the present invention may be utilized in any low dynamic environment. Therefore, the description of station keeping should be taken as exemplary only.

A first exemplary marine vessel105is a floating oil rig. The second exemplary marine vessel110is a drilling ship. Each is shown above an exemplary well head115A, B. A length of piping120A, B operatively connects the drilling heads115to the vessels105,110and is used to convey oil from the well head115to the vessel105,110. In operation, the vessels will need to remain substantially over the well head115to avoid placing too much strain on piping120. Should a vessel move too far away, the piping may burst, thereby causing environmental damage due to, e.g., the release of oil into a marine environment.

In order to remain in a station keeping position, i.e., within a predefined range from the well head115, the vessel may use its propeller, thrusters, or other maneuvering devices to maintain its station keeping location. As will be appreciated by those skilled in the art, marine vessels may utilize any of a plurality of differing maneuvering devices to control movement. These maneuvering devices may be engaged to counter the effects of external forces, e.g., waves and/or currents to cause the marine vessel to maintain a position that is within the predefined range from the well head.

Each marine vessel also includes an exemplary GNSS antenna125A, B that is operatively interconnected with a navigation system200, described further below in reference toFIG.2. Illustratively, the navigation system200may comprise an Inertial Navigation System (INS) working in conjunction with a Global Navigation Satellite System (GNSS). The navigation system200may provide position information to the crew of the vessel105,110, which can then control the maneuvering devices of the vessel to perform station keeping. In alternative embodiments, the navigation system200may be operatively interconnected with a vessel control system to automatically perform station keeping maneuvering operations. Such automated station keeping control systems may be implemented as is known in the art. One requirement of such automated systems is precise position information so that the automated system may invoke the appropriate maneuvering operations to maintain its station.

FIG.2is a schematic block diagram of an exemplary navigation system200that illustratively comprises an Inertial Navigation System (INS) sub-system220and Global Navigation Satellite System (GNSS) sub-system225in accordance with an illustrative embodiment of the present invention. One exemplary GNSS/INS system is described in U.S. Pat. No. 6,721,657, entitled INERTIAL GPS NAVIGATION SYSTEM, by Thomas J. Ford, et al, issued on Apr. 13, 2004.

The GNSS/INS system200includes an INS sub-system220and a GNSS sub-system225that operate under the control of a processor230, to calculate GNSS position and velocity, INS position, velocity and attitude, and combined GNSS/INS position, velocity, and attitude information. The GNSS subsystem processes the satellite signals received over the antenna125. The INS system receives measurements from an inertial measurement unit (“IMU”)215that reads data from accelerometers205and gyroscopes210. The data from the IMU215is time tagged by the GNSS clock240. The GNSS and INS systems can thus reliably interchange position-related information that is synchronized in time. The two systems operate together, through software integration in the processor230, to provide position-related information between the systems.

For ease of understanding, the description of the processing operations of the two systems are made without specific reference to the processor230. The system may instead include dedicated GNSS and INS sub-processors that communicate with one another at appropriate times to exchange information that is required to perform the various GNSS and INS calculation operations discussed below. For example, the INS sub-processor communicates with the GNSS processor when IMU data is provided to the sub-processor, in order to time-tag the data with GNSS time. Further, the GNSS sub-processor communicates with the INS sub-processor to provide GNSS position information at the start of each measurement interval, and so forth.

At start-up, the GNSS system225operates in a known manner to acquire the signals from at least a minimum number of GNSS satellites and calculate pseudoranges to the respective satellites and associated Doppler rates. Based on the pseudoranges, the GNSS system determines its position relative to the satellites. The GNSS system may also determine its position relative to a fixed-position base receiver (not shown), either through the use of differential correction measurements generated at the base station or after resolving associated carrier cycle ambiguities.

At the same time, the INS system220processes the IMU data, that is, the measurements from the various accelerometers205and gyroscopes210, to determine the initial attitude and velocity of the receiver. This may include the addition of external input to determine the initial conditions. The INS system further processes both the IMU data and the GNSS position and associated covariance information to set up various states for a Kalman filter245. At the start of each measurement interval, the INS subsystem updates the Kalman filter and provides updated error states to an INS mechanization process. The INS mechanization process uses the updated information and the IMU data to propagate, over the measurement interval, the inertial position, attitude and velocity, with the inertial position and other system element errors being corrected with GNSS observations at the start of the measurement interval.

The INS mechanization process outputs are utilized to calculate an exponential moving average (EMA) velocity. The EMA velocity is converted into a delta across a long period to determine true motion. This delta position update is self-contained and does not require any external information, such as when GNSS input is unavailable. The use of an average observation allows for low dynamics to occur without making the system unstable. This is described in detail in relation toFIG.3, described further below.

The IMU illustratively215plugs into a port (not shown) of the processor230and through the port supplies accelerometer and gyroscope measurement data to the processor. The IMU may be selected from a number of models and/or types, each associated with a different scaling factor and nominal accelerometer and gyroscope bias levels. The user may select a particular IMU model for navigation operations based on price and/or on the particular characteristics of the IMU along with the operational requirements.

A Kalman filter245processes estimates a series of parameters that describe and predict the behavior of a system. The Kalman filter245operates with a set of state variables that describe errors in the system and an associated variance covariance matrix that describes the current knowledge level of the state. The Kalman filter245maintains an optimal estimate of the system errors and associated covariance over time and in the presence of external measurements through the use of propagation and updating processes. Illustratively, the covariance factor may be determined as a function of the standard deviation of the samples used to estimate the EMA.

To propagate the state and its covariance from some past time to the current time, the Kalman filter propagation uses knowledge of the state dynamic behavior determined from the physics of the system and the stochastic characteristics of the system over time. Kalman filter updates thus uses the linear relationship between the state and observation vectors in conjunction with the covariance matrices related to those vectors to determine corrections to both the state vector and the state covariance matrix.

As noted above, the description contained herein comprises an exemplary embodiment of a GNSS/INS system. It is expressly noted that the principles of the present invention may be utilized with other systems. As such, the description contained herein should be taken as exemplary only.

FIG.3is a flowchart illustrating the steps of a procedure300for calculating position information in accordance with an illustrative embodiment of the present invention. Illustratively, the procedure300continuously loops to provide updates to the IMU to enable improved position information in the absence of GNSS position information. In one illustrative embodiment, the update interval is 1 Hertz. However, it should be noted that, in accordance with alternative embodiments of the present invention, differing update intervals may be utilized. Therefore, the description of a 1 Hz update interval should be taken as exemplary only.

In step305, IMU corrections are applied to the data obtained by the IMU. Illustratively, the IMU corrections are received from the Kalman filter update in step320, described further below. The correction of IMU data may be performed by any technique, as is known by those skilled in the art. The IMU data is then fed into the INS mechanization process in step310. The INS mechanization process may be accomplished using conventional INS mechanization techniques as are well known in the art. The INS mechanization outputs, inter alia, velocity (Ve) and position (Re). The mechanized position for the current update interval k (Rek) is also forwarded directly to the Kalman filter update step320, described further below.

Then, in step315, an exponential moving average (EMA) is calculated. The EMA is utilized to minimize error, by limiting error from an exponential growth to a linear growth rate. Illustratively, the EMA is calculated as:
EMAVek=(INSVek−EMAVek-1)×α+EMAVek-1

where α=2/(1+Number of Samples).

That is, the new EMA Ve is equal to the difference between the instantaneous INS Ve and the current EMA Ve multiplied by a scaling factor (α) and then added to the current EMA Ve. This enables the system to be self-contained and does not require any external inputs. Further, by using the average observation, the system allows for low dynamics to occur without rendering the system unstable.

The Number of Samples (NOS) may be set dynamically by the system or by user input. The system may determine whether it is operating in a high or low dynamic setting and adjust the NOS value accordingly. In alternative embodiments, there may be a user interface that permits an operator to adjust the NOS value, either directly or by, e.g., selecting a High or Low dynamic setting. It should be noted that while there is shown and described an equation for a, in accordance with alternative embodiments of the present invention, a may be calculated using different equations. It is expressly contemplated that the scaling factor (α) may be computed from the NOS using a plurality of techniques. Therefore, the description of α=2/(1+NOS) should be taken as exemplary only.

Then in step320, the Kalman filter245is updated to produce IMU correction values that are fed back into the INS sub-system in step305. Illustratively, the update and update weight input to the Kalman filter are illustratively calculated as:
Update=(EMAVek)×Time−(INSRek−INSRek-1)
Update Weight=INSVeCovariance×CovFactor

INS Rekrepresents the INS mechanized position at time k. The Time value is equal to the time difference between the values of INS Rekand INS Rek-1. The Covariance Factor (CovFactor) is utilized because the system velocity is being used as a relative position update. Typically, the velocity variance estimates are an order of magnitude lower than the position variance. If this variance was not adjusted, the difference (error) between the EMA and the instantaneous values would be accepted as system error. This would cause incorrect data being fed into the Kalman filter, which would quickly cause the system to become unstable and the solution to diverge.

In accordance with illustrative embodiments of the present invention the CovFactor may be used to reduce the weight applied to the delta position update generated from the EMA, thereby reducing the effects of false observability on the INS filter.FIGS.5and6, described further below, illustrate the effects of differing CovFactors in accordance with illustrative embodiments of the present invention.

FIG.4is a graph illustrating position error during a 300 second GNSS outage in accordance with an illustrative embodiment of the present invention. As can be seen inFIG.4, with no constraint, the position error exponentially grows during the 300 second outage, from time 103800 to time 104100.

FIG.5is a graph500illustrating position error for various CovFactor values in a stationary environment in accordance with an illustrative embodiment of the present invention. Graph500illustrates position error for an unconstrained system as well as for CovFactors values of 3, 6, and 9. It should be noted that the selection of these CovFactors is for illustrative purposes. In accordance with alternative embodiments of the present invention, differing CovFactors may be utilized. Therefore, the description of using CovFactors 3, 6, or 9 should be taken as exemplary only.

FIG.6is a graph600illustrating position error for various CovFactor values in a slow directional motion environment in accordance with an illustrative embodiment of the present invention. Graph600illustrates position error for an unconstrained system as well as for CovFactors 3, 6, and 9. It should be noted that the selection of these CovFactors is for illustrative purposes. In accordance with alternative embodiments of the present invention, differing CovFactors may be utilized. Therefore, the description of using CovFactors 3, 6, or 9 should be taken as exemplary only.

The present invention has been described in accordance with various exemplary embodiments. It should be noted that it is expressly contemplated that various alternative embodiments may be utilized to implement the principles of the present invention. Therefore, the description contained herein should be interpreted to include such alternative embodiments. Various specific values have been given as examples. It is expressly contemplated that differing values may be utilized in accordance with alternative embodiments of the present invention.