Patent Description:
The technology described herein relates to control systems and methods performed thereby for controlling steering systems towed marine equipment. Such towed equipment may include, but is not limited to, dynamically controlled foil and hydrofoil systems configured to position and maintain spacing between seismic sources and other elements of a marine seismic array.

Seismic arrays with sources and streamers are used to study rock strata and other structures below the surface, for example, as described in <CIT>. One or more marine vessels are typically used to tow the source and/or receiver arrays, in order to obtain relevant geological data covering a desired surface area of the ocean floor. For example, a single surface vessel may simultaneously tow both a source array and an array of seismic streamers, or different vessels can be used to tow separate source and receiver arrays. Alternatively, a towed source array can be used in conjunction with stationary receivers, for example, an array of ocean-bottom nodes, or with ocean-bottom cables deployed on the seabed.

During operation, acoustic shock waves generated by the source array propagate through the water to penetrate the ocean floor and are reflected from subsurface structures. The reflected acoustic waves are recorded as signals or seismic responses by the receivers, e.g., hydrophones and/or geophones towed behind a vessel or deployed on the ocean floor. It can be very important that the towed marine equipment such as cables with seismic sensors and other equipment closely follow a predetermined course, e.g., in order to accurately map a subsurface formation. In addition, if multiple cables are deployed behind a marine vessel it may be important to maintain a constant separation distance between the cables to ensure accuracy in the sensor readings and reduce the need for error correction.

Lateral forces are applied to maintain position and spacing of the seismic sources and other array elements as they are towed behind the vessel. The spacing depends on the number of sources and/or streamer cables that are deployed, and on the spacing between adjacent source and/or receiver components. Typically, a number of source sub-arrays or strings are deployed behind the vessel using a tow rope configuration to spread the sources over lateral distances of approximately ten to one hundred meters or more. Streamer cables are typically deployed over much larger lateral distances, for example, from one hundred meters to a kilometer or more, and may extend for several kilometers behind the tow vessel.

Lateral spacing can be achieved by deploying a paravane or diverter apparatus on a dedicated tow rope arrangement using a spreader or series of individual tether lines to provide the desired spacing between adjacent cables. Positioning devices can also be provided along each streamer cable, in order to maintain depth and/or lateral offset along the cable length. In other implementations, a dynamically controlled, steerable foil system, such as described in <CIT>, may be used for steering and positioning such towed equipment in a marine seismic array.

Generally, control systems for the steering actuators on such steering devices attempt to correct for position errors by using feedback information from sensors on the steering devices. This feedback information is helpful for determining actual position and speed and direction of travel of the steering devices. However, such information is often not adequate to quickly counteract changes in forces that may affect the positions of cables and sensors, for example, changes in currents, changes in speed and direction of the tow vessel, or other disturbances. Thus, the cables and sensors in a marine array may be out of position from a desired position for a longer period of time than acceptable due to such disturbances, which take a longer period of time or more cycles to correct by reliance solely on feedback loopdata.

The information included in this Background section of the specification, including any references cited herein and any description or discussion thereof, is included for technical reference purposes only and is not to be regarded subject matter by which the scope of the invention as defined in the claims is to be bound.

An example of a method and apparatus for controlling streamer steering devices is disclosed in <CIT>.

According to the present invention, there is defined a steering actuator control system as defined in claim <NUM>, and a method in a steering actuator control system as defined in claim <NUM>.

In one exemplary implementation of the present teachings, a control system for providing steering control commands to a steering actuator of a steering device on a piece of towed marine equipment is provided comprising a memory storing setpoint data including positional data for a desired position of the piece of towed marine equipment and/or one or more components of the piece of towed marine equipment; a control module configured to receive the setpoint data, receive process data representing a calculated actual position of the piece of towed marine equipment and/or one or more components of the piece of towed marine equipment, compute a difference between the received setpoint data and the received process data and calculate a control command for the steering actuator of the steering device if there is a difference between the setpoint data and the process data; a disturbance adjustment calculation module configured to combine a disturbance value based upon a measured disturbance with a value of the process data and output a disturbance adjustment value, wherein the disturbance adjustment value is a quotient with the disturbance value in the numerator and the process data value in the denominator; and a correction calculator module that adds the disturbance adjustment value to the control command to create an adjusted control command for transmission to the steering actuator.

In another exemplary implementation of the present teachings, a method in a control system for providing steering control commands to a steering actuator of a steering device on a piece of towed marine equipment is provided comprising accessing setpoint data including positional values for a desired position of the piece of towed marine equipment and/or one or more components of the piece of towed marine equipment stored within a memory in the control system; receiving process data representing a calculated actual position of the piece of towed marine equipment and/or one or more components of the piece of towed marine equipment; computing a difference between the received setpoint data and the received process data; calculating a control command for the steering actuator of the steering device if there is a difference between the setpoint data and the process data within acontroller; combining a disturbance value of a measured disturbance with a value of the process data to calculate a disturbance adjustment value, wherein the disturbance adjustment value is a quotient with the disturbance value in the numerator and the process data value in the denominator; adding the disturbance adjustment value to the control command create an adjusted control command; and transmitting the adjusted control command to the steering actuator.

In any of the implementations disclosed herein, the measured disturbance data may include one or more of the following: a heading of a vessel towing the piece of towed marine equipment; a speed of the vessel towing the piece of towed marine equipment; a speed of a current affecting the vessel or the piece of towed marine equipment in a body of water in which the vessel and piece of towed marine equipment are deployed; or a direction of a current affecting the vessel or the piece of towed marine equipment in a body of water in which the vessel and piece of towed marine equipment are deployed.

A more extensive presentation of features, details, utilities, and advantages of the present invention as defined in the claims is provided in the following written description of various embodiments and implementations and illustrated in the accompanying drawings.

A schematic illustration of a representative towed seismic array <NUM> utilizing one or more dynamically controlled foil systems <NUM> for steering source and/or streamer components is depicted in <FIG>. The seismic array <NUM> includes a source array <NUM> and a streamer array <NUM> towed by a seismic survey craft or other vessel <NUM>. Tow lines or cables <NUM> are coupled to the vessel <NUM> at one end and attached to a sub-array or string <NUM> of seismic sources at the other. For example, each tow cable <NUM> can be coupled to a series of air guns or other sources suspended from a head float, buoy, or other flotation apparatus <NUM>.

The source array <NUM> is directed along a navigational course or sail line by the tow vessel <NUM>. Within the source array <NUM>, the relative positions of the individual sources (or sets of sources) can be controlled by providing a dynamically steerable foil system for each floatation apparatus <NUM>, or for groupings of floatation apparatus <NUM>, as described herein. The source array <NUM> includes a number of head/sausage type floats <NUM> from which individual seismic sources <NUM> are suspended with umbilical cables <NUM> for power, data, and pneumatic connections to the survey vessel <NUM>.

The streamer array <NUM> includes a plurality of individual streamer cables <NUM> with seismic receivers distributed along each cable length to observe the reflected signals from the seismic sources <NUM>. The streamer cables <NUM> are coupled to tow lines or other submerged cables <NUM> along a spreader or separation rope <NUM>, which is suspended at a streamer depth below corresponding head buoys <NUM> using tag lines or depth ropes <NUM>. The streamers <NUM> may extend many kilometers from the head buoys <NUM> toward a corresponding number of tail buoys <NUM> at the aft end. (Thus, <FIG> is not to scale).

As shown in <FIG>, the separation rope <NUM> is laterally extended by attachment to spur lines <NUM>, which are coupled to paravanes or diverters <NUM> via deflector straps <NUM>. Wide tow ropes <NUM> run between paravanes or diverters <NUM> and the tow vessel <NUM>. The dynamically controllable foil system <NUM> may be provided on or in place of one or more streamer tag lines or depth ropes <NUM>, extending from the head buoys <NUM> down to the forward end of the streamer cables <NUM>. The steerable foil systems <NUM> may also be provided between the tail buoys <NUM> and the aft ends of the streamer cables <NUM> and in intermediate streamer locations.

The seismic survey vessel <NUM> is provided with a navigational system <NUM> including one or more foil steering modules configured to communicate with the dynamically steerable foil systems <NUM> deployed variously in the source array <NUM> and the streamer array <NUM>, and/or among the other components of the towed seismic array <NUM>. The foil systems <NUM> can also be utilized, in addition to source steering, to independently steer and laterally position streamers <NUM> with or without a discrete spreader or separation rope <NUM>. The steerable foil systems <NUM> can also be provided in lieu of diverters or paravanes <NUM>, for example in the end streamer positions as shown in <FIG>, without the need for a separate spur line <NUM> and wide tow rope <NUM>. Alternatively, the steerable foil systems <NUM> can be used within or provided in place of one or more diverters or paravanes <NUM> using a similar spur cable configuration.

More generally, the foil system <NUM> can be utilized for steering a wide range of submerged cable and float arrangements, suitable not only to seismic source and streamer steering but also for ocean-bottom cable and node deployment, side scan surveys, and sonar applications. The dynamically steerable foil system <NUM> may also be adapted to more generalized (non-seismic) uses including generic paravane, diverter and hydrofoil systems. Use with the paravane/diverter cable or P-cable and ocean bottom cables are additional options.

<FIG> is a side view of a source array <NUM> illustrating representative configurations for dynamically controlled foil system <NUM>. In this particular example, a sub-array or string <NUM> of individual air guns or other seismic sources <NUM> is suspended from the floatation apparatus <NUM> via suspension ropes <NUM>, which determine the depth of sources <NUM> below surface S. Suspension ropes <NUM> are coupled to selected portions of the float <NUM>, e.g., between head float section 18a and the trailing end of sausage float section 18b.

The float <NUM> is towed along the surface S via the tow cable <NUM>, which is coupled to the head float section <NUM> a via a tow leader <NUM>. The tow cable <NUM> typically comprises an umbilical <NUM> with data and power connections for seismic sources <NUM> and is connected to the foil system <NUM> at a cable connector <NUM>. In air gun applications, the umbilical <NUM> may include a pneumatic hose or conduit configured to provide pressurized air to the seismic sources <NUM> in order to generate acoustic shock waves when fired in response to direction by a control system. The shock waves (or other seismic signals) propagate from the seismic sources <NUM> through the water or other medium, penetrating the ocean floor and reflecting back from subsurface features. The reflected signals are recorded by seismic sensors (e.g., hydrophones or geophones in a streamer cable or ocean-bottom array) and processed to generate geophysical image data representing the subsurface structures.

As shown in <FIG>, the dynamically controlled foil system <NUM> can be coupled between the floatation apparatus <NUM> and a submerged portion of the tow cable <NUM>, e.g., at the cable connector <NUM> between the head float <NUM> a and the umbilical portion <NUM> of the tow cable <NUM>, aft of the tow leader <NUM> and forward of the seismic sources <NUM>. Alternatively, the submerged end of the foil system <NUM> can be coupled to one of the seismic sources <NUM> (e.g., to the first gun plate in the string).

In these configurations, the foil system <NUM> is configured to steer the head float 18a by generating hydrodynamic lift forces, which are controlled to achieve the desired lateral positioning of the seismic sources <NUM> within the source array <NUM> and with respect to the tow vessel <NUM>. Alternatively, one or more foil systems <NUM> can be coupled to the sausage float section 18b and positioned along (or in place of) any of a number of suspension ropes or cables <NUM>, for example, in a forward position at the lead seismic source <NUM>, in an intermediate position between individual seismic sources <NUM>, or in an aft position at (or trailing behind) the last seismic source <NUM>.

A schematic illustration of a representative the adjustment mechanism <NUM> for the dynamic foil system <NUM> is shown in greater detail in <FIG>. A turnbuckle <NUM> and a pulley <NUM>, ratchet, winch, or similar cable guide and feed mechanism may be mounted to the floatation apparatus <NUM>, e.g., between the top end of the aft control cable <NUM> and an aft anchor point <NUM> on the back or rear section of the floatation apparatus <NUM> (in the trailing edge direction of the foil sections <NUM>). The forward cable <NUM> is mounted to a forward anchor <NUM> attached to the front section of the floatation apparatus <NUM> (in the leading edge direction of the foil sections <NUM>).

The adjustment mechanism <NUM> can be configured for adjusting either the forward cable <NUM> or the aft cable <NUM>; both embodiments are encompassed. Another option is to use an adjustment mechanism <NUM> that provides differential adjustments to both forward and aft cabled <NUM>, <NUM>; e.g., by shortening one cable while lengthening the other at the same time. In some designs a single control cable may be used, extending from the forward cable anchor <NUM> down along a forward cable section <NUM>, then passing through a cable return or wrapping or inflecting around a cable connector <NUM> attached to a submerged cable <NUM>, and back up along an aft cable section <NUM> to the aft anchor <NUM> through the pulley <NUM>. Alternatively, separate forward and aft control cables <NUM>, <NUM> may be provided, e.g., individually attached at the submerged cable connector <NUM>. The submerged cable <NUM> can be provided either as a tow line for a streamer cable <NUM> or as an umbilical for a source gun array.

A control device <NUM> for the adjustment mechanism <NUM> may be located at either the top or bottom end of the foil system <NUM>, for example, inside the floatation apparatus <NUM>. Suitable control devices <NUM> include processor, memory, and software components configured to direct the adjustment mechanism <NUM> to selectively vary the length and/or tension in the forward and aft cables <NUM>, <NUM>, in order to regulate the lift and steering forces generated by the foil system <NUM> by changing the angle of attack along individual foil sections <NUM>. For example, the control device <NUM> may be configured to control an electric motor or similar drive in order to actuate the adjustment mechanism <NUM>, providing for automated steering by adjustment of the relative length and tension in the forward and aft control cables <NUM>, <NUM>. Other control options include, but are not limited to, hydraulic and pneumatically controlled ram or piston mechanisms, electric winch drives, and motor-driven rack and pinion arrangements.

In the context of a seismic survey as described above, a number of seismic energy source devices and/or a number of sensor nodes may be attached along the length of cables deployed and towed behind the marine vessel. Each of the cables, or the seismic equipment attached to the cables, may have a steering device associated therewith in order to adjust the position of the cable or seismic devices within the water. In some implementations, it may be very important that the towed marine equipment such as the cables with seismic equipment closely follow a predetermined course (e.g., in order to accurately map a subsurface formation). In addition, if multiple cables are deployed behind a marine vessel it may be important to maintain a constant separation distance between the cables. To meet these needs, steering mechanisms may be attached to each cable and further or alternatively attached to the equipment towed by the cable.

The foil systems <NUM> are just one exemplary implementation of a steering mechanism that may be employed to steer and position cables, seismic energy sources, sensor nodes, buoys and floats in the seismic array, etc. Other steering mechanisms for attachment to such sensor array components exist. These may include paravanes, hydrofoils, rudders, wings, elevators, and various other devices. The orientations of each of these devices while being towed through the water may be adjusted for steering. Such adjustments may be made by increasing or decreasing tension on control cables (i.e., making them more taught or more slack), engaging actuators to physically move a steering element; engaging motors to drive rotating elements, etc. In each case, the steering mechanisms are controlled by signals calculated to alter their orientation appropriately to maintain a proper course for the seismic array elements within the water. These signals are determined by sophisticated navigation and control systems that work in concert with the navigation of the marine vessel in order to ensure that the elements of the seismic array stay on course and maintain proper separation distances between adjacent elements.

<FIG> is a schematic diagram of an implementation of a control system <NUM> for use in steering towed marine equipment. As indicated in <FIG>, and as is the case with most marine steering systems, a number of set points or control system input variable values may be defined and input into the control system <NUM> as a starting point as indicated by data input <NUM>. For example, when controlling the steering of towed marine equipment, set points may include desired separation distances between cables or other components of the steerable towed equipment, a desired offset or minimal offset from the plotted course of the center of the marine vessel towing the equipment, or a desired center-of-source/course-made-good (COS/CMG) identified as a center point of a towed seismic array.

These initial values and others may be provided to a controller <NUM>. The controller <NUM> may be any type of control module capable of incorporating feedback, for example, a state-variable controller, a proportional integral derivative (PID) controller, a multi-input/multi-output controller, etc. The controller <NUM> receives the input values for the course and calculates particular steering instructions that are translated into a specific control command for the particular steering mechanism attached to a cable or other marine equipment being towed. The steering instructions and control commands are specific to the type of steering mechanism being controlled, the type of towed equipment connected to the steering device, and the particular course that the towed equipment is intended to follow.

The steering instructions generated by the controller <NUM> are then forwarded to a steering actuator <NUM>. The steering actuator <NUM> may be any one of a number of devices used to control the orientation of or steering of towed marine equipment. For example, in some instances the steering actuator <NUM> may be a switch to a motor driven propeller that is turned on and off and oriented in an appropriate direction to effect the steering command. In other instances the steering actuator <NUM> may be a mechanical device that orients a rudder, fin, or other hydrofoil in a certain direction to steer the associated cable or other marine equipment in a desired direction as the cable is pulled behind the vessel.

Once a steering control command has been implemented, the control system <NUM> may invoke a mathematical model to compute the anticipated results of the steering action as indicated by process module <NUM>. The process (G) module <NUM> may compute as an output a process variable data set <NUM> of the same type as the set point variables <NUM>. For example, the process (G) module <NUM> may compute a modeled position and separation distance between elements of the towed equipment as expected in response to the prior steering input. Additionally or alternatively, an offset process variable may be computed to determine the likely actual course for the center of the vessel. Additionally, or alternatively, the process (G) module <NUM> may calculate an anticipated COS/CMG position of a center of all towed equipment in an array behind the vessel after the steering command is implemented. Other process variables may similarly be calculated according to mathematical models programmed in the process (G) module <NUM>. The values of the variables in the process variables data set <NUM> become the primary input into a feedback loop for the control system <NUM> in order to provide a basis for error correction.

In addition to the calculated process variables data set <NUM>, additional geographic positional information may be determined for use in error correction of course aberrations. For example, global positioning satellite (GPS) information <NUM> may be collected from receivers mounted on the towed marine equipment. The GPS information <NUM> and the process variables values <NUM> may be forwarded to a navigation system <NUM>. The navigation system <NUM> uses the data from the GPS <NUM> and process variable information <NUM> to calculate an estimated geographic position of the towed marine equipment. The calculated estimated position may be compared to a pre-plotted course for the towed marine equipment within the navigation system <NUM>.

The calculated navigation information is then forwarded to an error calculator <NUM>. The error calculator <NUM> also receives the original set point information and course information from the setpoint dataset <NUM> and computes a difference between the desired course and position of each of the towed marine equipment elements and the computed actual positions in process variable values output by the navigation system <NUM>. If there is a difference between these values, an error is registered and the difference values are input in to the controller <NUM> for calculation of new control commands for the steering actuator <NUM> intended correct any differences between the planned course and the actual course. In this manner a feedback loop is created for error correction of the steering control of the towed marine equipment.

It may be noted that the control system <NUM> may also include a safety override. For example, a separation safety interlock <NUM> may be connected with the steering actuator <NUM> in order to interrupt or deavtivate the steering actuator <NUM> in the event that two or more pieces of the towed marine equipment are determined to be too close together, in order to avoid a risk of entanglement between and potential damage to the towed marine equipment. In addition, a manual override module <NUM> may be provided within the control system <NUM> to allow manual control of the steering actuator <NUM>.

This portion of the control system <NUM> for use with steering towed marine equipment thus described provides steering control and error correction through a feedback loop. However, when limited to this configuration, the control system <NUM> may not react quickly enough to changes in the environment or more significant course corrections of the marine vessel towing the marine equipment. Because of the slow reaction time of the feedback loop, it may take an excessive amount of time for the towed marine equipment to return to a pre-planned course position. In the context of conducting marine seismic surveys, source energy and sensing equipment that are substantially out of position can lead to poor survey results. For these reasons, a forward feedback control loop is further contemplated and implemented within the control system <NUM>.

As indicated in <FIG>, a number of measurable disturbances that are separately notable and recordable may have significant impacts upon the course of a piece of steerable towed marine equipment. Such disturbances may include a significant change in the heading of the marine vessel towing the steerable towed marine equipment. Ocean currents can also create measurable effects on the course of the towed marine equipment as the equipment passes through the current. For example, inline currents (i.e., currents flowing in a parallel direction to the course of the towed equipment) can cause increased drag on or greater speed of the towed equipment depending upon the current direction. Crossline currents can push the towed marine equipment significantly off course either to starboard or to port. In many instances, these and other kinds of disturbances may be known or noticed in advance of their imparting noticeable effect upon the steerable towed marine equipment.

For example, if a vessel heading or speed changes, e.g., to counteract currents or wind, such information would be input into the marine vessel control system and may be made immediately available to each control system <NUM> for each of the steering actuators <NUM> for the steerable towed marine equipment. Similarly, the marine vessel or the steerable towed equipment itself may include current sensors, for example, an acoustic Doppler profiler that measures the speed and direction of underwater currents which may have an effect on the steerable towed marine equipment. Such information can be collected and provided as an input into a forward feed control loop in the control system <NUM> as indicated by data set <NUM>. This information may be provided as input variables to a mathematical model of disturbance (U) as indicated by disturbance module <NUM>.

The disturbance module <NUM> may invoke preconfigured models to calculate the impact of any disturbance values on the process variables input into the feedback loop. Such models may be developed in advance, for example, through experimental trials and recordation of effects of changes in speed and heading of the vessel in response to wind and currents and the corresponding effects on sensor positions in a towed array. Artificial intelligence, neural networks, fuzzy logic, and other modeling techniques may be employed to build models responsive to various disturbance conditions encountered by or caused by vessels towing arrays in such trials.

Output of the calculated disturbance values may be used as input for correction of control signals to the steering actuator <NUM> and as input within the feedback loop of the control system <NUM>. In a first control path, a disturbance value may be used as an anticipatory action to immediately change the control input to the steering actuator <NUM>. As indicated in disturbance adjustment calculation module <NUM>, a quotient of a disturbance value (U) and the most recent process value (G) may be added to the output of the controller <NUM> by a correction calculator <NUM>. A percentage or portion of the disturbance value (U) is thus used to immediately effect changes in the control signal to the steering actuator <NUM> to respond to measurable disturbances before the effects of the measurable disturbances are recognized in the standard feedback loop. This type of proactive correction thus helps better maintain the desired position of the steerable towed equipment. In addition, calculated disturbance values (U) may be output to enter the feedback loop and be added to corresponding calculated process values (G) by a feedback correction calculator <NUM>. In this manner the effect of measurable disturbances is taken into account into the feedback loop to help more accurately calculate the navigational position of the steerable towed marine equipment. Thus, input values provided to the controller <NUM> may generate commands to the steering actuator <NUM> that will result in more stable and accurate steering and positioning of the steerable towed marine equipment.

An exemplary computer system <NUM> for implementing the processes performed by the control system <NUM> described above is depicted in <FIG>. The computer system <NUM> may be a personal computer (PC), a workstation, a server, a mainframe computer, a distributed computer a portable notebook or tablet computer, or functionally distributed across a number of computers and pieces of specialized control equipment (e.g., the controller <NUM> and the navigation module <NUM>), each with internal processing and memory components as well as interface components for connection with external input, output, storage, network, and other types of peripheral devices. The computer system <NUM> of <FIG> is intended to be a generic representation of computers and control equipment that may include some or all of the components depicted and described. Internal components of the computer system in <FIG> are shown within the dashed line and external components are shown outside of the dashed line. Components that may be internal or external are shown straddling the dashed line.

In any embodiment or component of the control system described herein, the computer system <NUM> includes a processor <NUM> and a system memory <NUM> connected by a system bus <NUM> that also operatively couples various system components. There may be one or more processors <NUM>, e.g., a single central processing unit (CPU), or a plurality of processing units, commonly referred to as a parallel processing environment (for example, a dual-core, quad-core, or other multi-core processing device). The system bus <NUM> may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, a switched-fabric, point-to-point connection, and a local bus using any of a variety of bus architectures. The system memory <NUM> includes read only memory (ROM) <NUM> and random access memory (RAM) <NUM>. A basic input/output system (BIOS) <NUM>, containing the basic routines that help to transfer information between elements within the computer system <NUM>, such as during start-up, is stored in ROM <NUM>. A cache <NUM> may be set aside in RAM <NUM> to provide a high speed memory store for frequently accessed data.

A hard disk drive interface <NUM> may be connected with the system bus <NUM> to provide read and write access to a data storage device, e.g., a hard disk drive <NUM>, for nonvolatile storage of applications, files, and data. A number of program modules and other data may be stored on the hard disk <NUM>, including an operating system <NUM>, one or more application programs <NUM>, and data files <NUM> (for example, the setpoint values and the process values). In an exemplary implementation, the hard disk drive <NUM> may store the process calculation module <NUM>, the disturbance calculation module <NUM>, and any number of error correction calculators <NUM>. Note that the hard disk drive <NUM> may be either an internal component or an external component of the computer system <NUM> as indicated by the hard disk drive <NUM> straddling the dashed line in <FIG>. In some configurations, there may be both an internal and an external hard disk drive <NUM>.

The computer system <NUM> may further include a magnetic disk drive <NUM> for reading from or writing to a removable magnetic disk <NUM>, tape, or other magnetic media. The magnetic disk drive <NUM> may be connected with the system bus <NUM> via a magnetic drive interface <NUM> to provide read and write access to the magnetic disk drive <NUM> initiated by other components or applications within the computer system <NUM>. The magnetic disk drive <NUM> and the associated computer-readable media may be used to provide nonvolatile storage of computer-readable instructions, data structures, program modules, and other data for the computer system <NUM>.

The computer system <NUM> may additionally include an optical disk drive <NUM> for reading from or writing to a removable optical disk <NUM> such as a CD ROM or other optical media. The optical disk drive <NUM> may be connected with the system bus <NUM> via an optical drive interface <NUM> to provide read and write access to the optical disk drive <NUM> initiated by other components or applications within the computer system <NUM>. The optical disk drive <NUM> and the associated computer-readable optical media may be used to provide nonvolatile storage of computer-readable instructions, data structures, program modules, and other data for the computer system <NUM>.

A display device <NUM>, e.g., a monitor, a television, or a projector, or other type of presentation device may also be connected to the system bus <NUM> via an interface, such as a video adapter <NUM> or video card. Similarly, audio devices, for example, external speakers or a microphone (not shown), may be connected to the system bus <NUM> through an audio card or other audio interface (not shown).

In addition to the monitor <NUM>, the computer system <NUM> may include other peripheral input and output devices, which are often connected to the processor <NUM> and memory <NUM> through the serial port interface <NUM> that is coupled to the system bus <NUM>. Input and output devices may also or alternately be connected with the system bus <NUM> by other interfaces, for example, a universal serial bus (USB), an IEEE <NUM> interface ("Firewire"), a parallel port, or any number of input/output hardware configurations and protocols. A user may enter commands and information into the computer system <NUM> through various input devices including, for example, a keyboard <NUM> and pointing device <NUM>, for example, a computer mouse. Other input devices (not shown) may include, for example, a joystick, a game pad, a tablet, a touch screen device, a satellite dish, a scanner, antennae, GPS devices, a facsimile machine, a microphone, a digital camera, and a digital video camera.

Other output devices may include a printer <NUM> and one or more loudspeakers <NUM> for presenting the audio performance of the sender. Further output devices (not shown) may include, for example, a plotter, a photocopier, a photo printer, a facsimile machine, and a press. In some implementations, several of these input and output devices may be combined into single devices, for example, a printer/scanner/fax/photocopier. It should also be appreciated that other types of computer-readable media and associated drives for storing data, for example, magnetic cassettes or flash memory drives, may be accessed by the computer system <NUM> via the serial port interface <NUM> (e.g., USB) or similar port interface.

The computer system <NUM> may operate in a networked environment using logical connections through a network interface <NUM> coupled with the system bus <NUM> to communicate with one or more remote devices. The logical connections depicted in <FIG> include a local-area network (LAN) <NUM> and a wide-area network (WAN) <NUM>. These logical connections may be achieved by a communication device coupled to or integral with the computer system <NUM>. As depicted in <FIG>, the LAN <NUM> may use a router <NUM> or hub, either wired or wireless, internal or external, to connect with remote devices, e.g., a remote computer <NUM>, similarly connected on the LAN <NUM>. The remote computer <NUM> may be another personal computer, a server, a client, a peer device, or other common network node, and typically includes many or all of the elements described above relative to the computer system <NUM>. In the context of the seismic survey equipment, each of the sensor nodes may be configured to wirelessly connect with the LAN <NUM> upon retrieval from deployment to download collected data for storage and processing.

To connect with a WAN <NUM>, the computer system <NUM> typically includes a modem <NUM> for establishing communications over the WAN <NUM>. Typically the WAN <NUM> may be the Internet. However, in some instances the WAN <NUM> may be a large private network spread among multiple locations, or a virtual private network (VPN). The modem <NUM> may be a telephone modem, a high speed modem (e.g., a digital subscriber line (DSL) modem), a cable modem, a satellite modem, or similar type of communications device. The modem <NUM>, which may be internal or external, is connected to the system bus <NUM> via the network interface <NUM>. In alternate embodiments the modem <NUM> may be connected via the serial port interface <NUM>. It should be appreciated that the network connections shown are exemplary and other means of and communications devices for establishing a network communications link between the computer system and other devices or networks may be used.

The technology described herein may be implemented as logical operations and/or modules in one or more systems. The logical operations may be implemented as a sequence of processor-implemented steps executing in one or more computer systems and as interconnected machine or circuit modules within one or more computer systems. Likewise, the descriptions of various component modules may be provided in terms of operations executed or effected by the modules. The resulting implementation is a matter of choice, dependent on the performance requirements of the underlying system implementing the described technology. Accordingly, the logical operations making up the embodiments of the technology described herein are referred to variously as operations, steps, objects, or modules. Furthermore, it should be understood that logical operations may be performed in any order, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language.

In some implementations, articles of manufacture are provided as computer program products that cause the instantiation of operations on a computer system to implement the procedural operations. One implementation of a computer program product provides a non-transitory computer program storage medium readable by a computer system and encoding a computer program. It should further be understood that the described technology may be employed in special purpose devices independent of a personal computer.

Claim 1:
A steering actuator control system (<NUM>) configured to provide steering control commands to a steering actuator (<NUM>) of a steering device (<NUM>) on a piece of towed marine equipment (<NUM>), the towed marine equipment (<NUM>) formed from a plurality of pieces, the control system (<NUM>) comprising:
a memory (<NUM>) storing setpoint data including positional values for a desired position of each piece of towed marine equipment (<NUM>),
and characterised in that the control system (<NUM>) comprises:
a process data calculation module (<NUM>) configured to invoke a first mathematical model to calculate process data representing the calculated actual position of each piece of towed marine equipment in response to a prior steering control command;
a control module (<NUM>) configured to
receive the setpoint data;
receive the process data representing the calculated actual position of each piece of towed marine equipment (<NUM>);
compute a difference between the received setpoint data and the received process data; and
calculate a control command for the steering actuator (<NUM>) of the steering device (<NUM>) if there is a difference between the setpoint data and the process data;
a disturbance adjustment calculation module (<NUM>) configured to combine a disturbance value based upon a measured disturbance with a value of the process data and output a disturbance adjustment value, wherein the disturbance adjustment value is a quotient with the disturbance value in the numerator and the process data value in the denominator; and
a correction calculator module (<NUM>) that adds the disturbance adjustment value to the control command to create an adjusted control command for transmission to the steering actuator (<NUM>).