# Patent

## Title
Watercraft speed control device

## Abstract

An automatic speed control system that provides desired watercraft velocity over land. The coupled algorithms correct engine speed and torque using inertia based measurements, GPS, and tachometer measurements, and the corrections are augmented and enhanced by velocity/speed and torque/speed relationships that are dynamically and adaptively programmed with real-time data collected during replicated operations of the watercraft in specified conditions.

## Background
This patent claims priority from and incorporates by reference U.S. Patent Application Ser. No. 60/543,610, filed Feb. 11, 2004, and is a continuation-in-part of and incorporates by reference U.S. patent application Ser. No. 11/056,848 filed Feb. 11, 2005 which issued as U.S. Pat. No. 7,229,330; U.S. patent application Ser. No. 11/811,616 filed Jun. 11, 2007 which will issue as U.S. Pat. No. 7,494,393 on Feb. 24, 2009; U.S. patent application Ser. No. 11/811,605 filed on Jun. 11, 2007 which issued as U.S. Pat. No. 7,491,104 on Feb. 17, 2009; U.S. patent application Ser. No. 11/811,606 filed on Jun. 11, 2007, which issued as U.S. Pat. No. 7,485,021 on Feb. 3, 2009; U.S. patent application Ser. No. 11/811,604 filed on Jun. 11, 2007, which issued as U.S. Pat. No. 7,465,203 on Dec. 16, 2008; U.S. patent application Ser. No. 11/811,617 filed on Jun. 11, 2007, which will issue as U.S. Pat. No. 7,494,394 on Feb. 24, 2009; and pending U.S. patent application Ser. No. 11/903,208 filed on Sep. 19, 2007.


FIELD OF THE INVENTION
The present invention pertains to the field of water sports and boating.
BACKGROUND OF THE INVENTION
Competitors in trick, jump, and slalom ski and wakeboard events require tow boats capable of consistent and accurate speed control. Intricate freestyle tricks, jumps, and successful completion of slalom runs require passes through a competition water course at precisely the same speed at which the events were practiced by the competitors. Some events require that a pass through a course be made at a specified speed. Such requirements are made difficult by the fact that typical watercraft Pitot tube and paddle wheel speedometers are inaccurate and measure speed over water instead of speed over land, and wind, wave, and skier loading conditions constantly vary throughout a competition pass.
Marine transportation in general suffers from the lack of accurate vessel speed control. The schedules of ocean-going vessels for which exact arrival times are required, for example, are vulnerable to the vagaries of wind, waves, and changing hull displacement due to fuel depletion.
SUMMARY OF THE INVENTION
The present invention provides consistent, accurate control of watercraft speed over land. It utilizes velocity measuring device and an inertia based measurement device technology to precisely monitor watercraft velocity over land. It utilizes dynamic monitoring and dynamic updating of engine control data in order to be responsive to real-time conditions such as wind, waves, and loading.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow diagram of an embodiment of the present invention.
FIG. 2 is a flow chart of the steady state timer algorithm used in the embodiment.
FIG. 3 is a schematic of a watercraft utilizing an embodiment of the present invention.
FIG. 4 is a graphical representation of the engine speed and boat speed data shown in the tables herein.
FIG. 5 is a flow diagram of an alternate embodiment of the present invention.
FIG. 6 is a flow diagram of another embodiment of the present invention.
FIG. 7 is a flow diagram of an alternate embodiment of the present invention.
FIG. 8 is a flow diagram of another embodiment of the present invention.
FIG. 9 is a flow diagram of another embodiment of the present invention.
FIG. 10 is a flow diagram of an alternate embodiment of the present invention.
FIG. 11 is a flow diagram of another embodiment of the present invention.
FIG. 12 is a flow diagram of an alternate embodiment of the present invention.
FIG. 13 is a flow diagram of another embodiment of the present invention.



DETAILED DESCRIPTION OF THE EMBODIMENTS
The present invention is an electronic closed-loop feedback system that controls the actual angular velocity ωa of a boat propeller, and, indirectly, the actual over land velocity va of the watercraft propelled by that propeller. The system has various configurations with one embodiment including a velocity measuring device, an inertia-based measuring device, at least two conversion algorithms, and engine speed controls. Other configurations include a global positioning satellite (GPS) velocity measurement device, a marine engine speed tachometer, comparators, conversion algorithms, and engine speed controls.
Herein, a GPS device is one of the category of commonly understood instruments that use satellites to determine the substantially precise global position and velocity of an object. Such position and velocity measurements can be used in conjunction with timers to determine an object's instantaneous velocity and average velocity between two points. A velocity measuring device is one of a category of commonly understood instruments that is capable of measuring the velocity of an object for example, a GPS device, a paddle wheel, or a pitot tube. An inertia based measurement device is one of a category of commonly understood instruments that is capable of measuring the acceleration of an object. The velocity of an object can be calculated by integrating the acceleration of an object over time. Engine speed refers to angular velocity, generally measured with a device herein referred to as a tachometer. A comparator is any analog or digital electrical, electronic, mechanical, hydraulic, or fluidic device capable of determining the sum of or difference between two input parameters, or the value of an input relative to a predetermined standard. An algorithm is any analog or digital electrical, electronic, mechanical, hydraulic, or fluidic device capable of performing a computational process. The algorithms disclosed herein can be performed on any number of devices commonly called microprocessors or microcontrollers, examples of which include the Motorola® MPC555 and the Texas Instruments® TMS320.
As diagrammed in FIG. 1 showing feedback system 100, GPS device 10 measures the actual velocity va of a watercraft 50. The GPS output vGPS is compared in first comparator 12 to predetermined velocity vd. Comparator 12 output velocity error εv is input to an algorithm 14 that converts εv to engine speed correction ωc that is input to a second comparator 16. Predetermined velocity vd is input to an algorithm 18 the output of which is ωadapt, a value of engine speed adaptively determined to be the engine speed necessary to propel watercraft 50 at predetermined velocity vd under the prevailing conditions of wind, waves, and watercraft loading, trim angle, and attitude.
The addition of engine speed correction ωc and engine speed ωadapt in comparator 16 results in the total desired engine speed ωd that is input to a third comparator 20. A sensor 24, one of many types of commonly understood tachometers, detects the actual angular velocity ωa of a driveshaft from an engine 53 of watercraft 50 and sends it to third comparator 20. In comparator 20 actual angular velocity ωa and total desired engine speed ωd are compared for engine speed error εω that is input to an algorithm 26. In the algorithm 26 engine speed error εω is converted into engine torque correction τc.
Total desired engine speed ωd is also input to an algorithm 22 the output of which is τadapt, a value of engine torque adaptively determined to be the engine torque necessary to operate watercraft engine 53 at total desired engine speed ωd. The addition of engine torque τadapt and engine torque correction τc in a fourth comparator 28 results in the calculated desired engine torque τd. Calculated desired engine torque τd is input to controller 30 that drives a throttle control capable of producing in engine 53 a torque substantially equal to calculated desired engine torque τd.
The algorithms 14 and 26, respectively, could include any common or advanced control loop transfer function including, but not limited to, series, parallel, ideal, interacting, noninteracting, analog, classical, and Laplace types. For both the algorithms 14 and 26 the embodiment utilizes a simple proportional-integral-derivative (PID) algorithm of the following type (exemplified by the algorithm 14 transfer function):

ωc=Kpεv+Kd(d/dt)εv+∫Kiεvdt. 

Where Kp, Kd, and Ki are, respectively, the appropriate proportional, derivative, and integral gains.

The algorithms 18 and 22, respectively, provide dynamically adaptive mapping between an input and an output. Such mapping can be described as self-modifying. The inputs to the algorithms 18 and 22 are, respectively, predetermined velocity vd and total desired engine speed ωd. The outputs of the algorithms 18 and 22 are, respectively, engine speed ωadapt and engine torque τadapt. The self-modifying correlations of algorithms 18 and 22 may be programmed during replicated calibration operations of a watercraft through a range of velocities in a desired set of ambient conditions including, but not limited to, wind, waves, and watercraft loading, trim angle, and attitude. Data triplets of watercraft velocity, engine speed, and engine torque are monitored with GPS technology and other commonly understood devices and fed to algorithms 18 and 22 during the calibration operations. Thereafter, a substantially instantaneous estimate of the engine speed required to obtain a desired watercraft velocity and a substantially instantaneous estimate of the engine torque required to obtain a desired engine speed can be fed to the engine speed and torque control loops, even in the absence of watercraft velocity or engine speed departures from desired values, in which cases the outputs of algorithms 14 and 26 may be zero.
In the embodiment shown in FIG. 1, no adaptive data point of watercraft velocity, engine speed, or engine torque described above is programmed into algorithms 18 or 22 until it has attained a steady state condition as diagrammed in FIG. 2. A timer compares watercraft velocity error εv, engine speed error εω, the time rate of change of actual watercraft velocity va, and the time rate of change of actual engine speed ωa to predetermined tolerance values. When the absolute value of each variable is less than or equal to its predetermined tolerance, and the time elapsed since the beginning of a sample event is greater than or equal to a predetermined validation time, ωadapt is updated according to

ωadapt(vd)=ωadapt(vd)+kadapt[ωd−ωadapt(vd)]Δtupdate 

where kadapt and Δtupdate are factory-set parameters that together represent the speed at which the adaptive algorithms “learn” or develop a correlated data set. The last block on the FIG. 2 flowchart represents a correction to speed control algorithm 14. The correction may be used to smooth iterations that may be present if algorithm 14 uses integrator action.

When engine speed error εω and the time rate of change of actual engine speed ωa decrease to predetermined tolerance values, and the time elapsed since the beginning of a sample event is greater than or equal to a predetermined validation time, τadapt is updated according to

τadapt(ωd)=τadapt(ωd)+kadapt[τd−τadapt(ωd)]Δtupdate.

This is the same updating equation that is used in algorithm 18, and it is derived in the same manner as is illustrated in FIG. 2. The smoothing technique described above may be used to counter the effects of integrator action in algorithm 26.

The substantially instantaneous estimates of engine speed and torque derived from algorithms 18 and 22 require interpolation among the discrete values programmed during watercraft calibration operation. For practice of the present invention there are many acceptable interpolation schemes, including high-order and Lagrangian polynomials, but the present embodiment utilizes a linear interpolation scheme. For example, algorithm 18 employs linear interpolation to calculate a value of ωadapt for any predetermined velocity vd. From a programmed table of vd values from v0 to vn, inclusive of vm, and ωadapt values from ω0 to ωn, inclusive of ωm, a value of m is chosen so that vd≧vm and vd<vm+1. Algorithm 18 calculates intermediate values of engine speed according to the equation

ωadapt=ωm+[(vd−vm)/(vm+1−vm)](ωm+1−ωm).

Although algorithm 22 could also utilize any of several interpolation schemes, and is not constrained to duplication of algorithm 18, in the present embodiment of the present invention, algorithm 22 calculates τadapt using the same linear interpolation that algorithm 18 uses to calculate ωadapt. In order to implement adaptive update algorithm 18 when using a linearly interpolated table of values as the interpolation embodiment, the following procedure can be followed:

    
    
        Compute a weighting factor x using the following equation:

x=[(vd−vm)/(vm+1−vm)]

        Note that x is always a value between 0 and 1.

Similar to algorithm 18, update the two bracketing values ωm, ωm+1 in the linear table using the following equations:

ωm=ωm+(1−x)kadapt[ωd−ωadapt]Δtupdate 

ωm+1=ωm+1+(x)kadapt[ωd−ωadapt]Δtupdate 

The other values in the linear table remain unchanged for this particular update, and are only updated when they bracket the operating condition of the engine at some other time. This same procedure can be used on the engine speed vs. torque adaptive table. It should be noted that if algorithm 18 is not present, then ωc will equal ωadapt. Likewise if algorithm 22 is not present then τc will equal τadapt.

    
    


Although the embodiment shown in FIG. 1 does not utilize extrapolation in its adaptive algorithms, the scope of the present invention could easily accommodate commonly understood extrapolation routines for extension of the algorithm 18 and algorithm 22 data sets.
Adaptive algorithms 18 and 22 are not required for operation of the present invention, but they are incorporated into the embodiment. Aided by commonly understood integrators, algorithms 14 and 26 are capable of ultimate control of a watercraft's velocity. However, the additional adaptive control provided by algorithms 18 and 22 enhances the overall transient response of system 100.
The following table is an example of the velocity vs. engine speed adaptive table as it might be initialized from the factory. This table is a simple linear table which starts at zero velocity and extends to the maximum velocity of the boat (60 kph) at which the maximum engine speed rating (6000 rpm) is also reached:














vd (kph)
ωadapt (rpm)



















0
0



10
1000



20
2000



30
3000



40
4000



50
5000



60
6000










The following is an example of the velocity vs. engine speed adaptive after the boat has been driven for a period of time:















vd (kph)
ωadapt (rpm)



















0
0



10
1080



20
1810



30
2752



40
3810



50
5000



60
6000










Note that the engine speed values correlating to boat speeds of 50 and 60 kph have not been modified from the original initial values. This is because the boat was never operated at these desired speeds during the period of operation between the present table and the initial installation of the controller. FIG. 4 is a graphical representation of the data in the preceding tables.

Controller 30 (see FIG. 1) is the interface between calculated desired engine torque τd and the throttle control that causes the ultimate changes in engine speed. Controller 30 may interpose any number of relationships between calculated desired engine torque τd and engine speed, but the embodiment of the present invention utilizes a direct proportionality. Other embodiments of the present invention could use controller 30 to adjust engine parameters other than throttle setting. Such parameters could include spark timing, fuel flow rate, or air flow rate. The embodiment of the present invention contemplates a boat with a single speed transmission and a fixed pitch propeller. An alternate embodiment of the present invention could be used with boats having variable transmissions and/or variable pitch propellers. In these alternate embodiments, the controller 30 could adjust the transmission, pitch of the propeller, throttle setting, or a combination thereof.
FIG. 3 illustrates how an operator of watercraft 50 controls the speed of engine 53 and propeller 51. The operator supplies predetermined and desired velocity vd through a control input device such as control keypad and display unit 59 to control module 65 that houses the algorithms and comparators of system 100. GPS measurements from device 10 and predetermined velocity vd values are sent to control module 65 via communications link 55. Communication link 57 feeds engine speed measurements from a tachometer to control module 65. System 100 may be overridden at any time through operator control of manual throttle control 61 that controls engine throttle 63.
Diagrammed in FIG. 5 is feedback system 101 which is an alternate embodiment of the present invention. In this embodiment, the comparator 12 is removed from system 101. The velocity measurement determined by the GPS device 10 is fed directly to algorithm 14. Algorithm 14 is modified to incorporate predetermined velocity vd and GPS output vGPS in the calculation to determine engine speed correction ωc.
Diagrammed in FIG. 6 is feedback system 102 which is another embodiment of the present invention. In this embodiment, system 102 incorporates an inertia measuring device 11, an algorithm 15, an algorithm 17, and a velocity measuring device 31. The inertia measuring device 11 measures the actual acceleration aAcc of a watercraft 50 and the velocity measuring device 31 measures the actual velocity vVMD of the same watercraft 50. The output of the inertia measuring device 11 is input into algorithm 15 that converts actual acceleration aAcc to velocity vAcc according to the formula

vAcc=∫aAccdt 

The output from algorithm 15 velocity vAcc and velocity vVMD are input into algorithm 17 which calculates observed velocity vOBS according to the formula

vOBS=KP(vVMD−vAcc)+KD(d/dt)(vVMD−vAcc)=∫Ki(vVMD−vAcc)

In this embodiment algorithm 14 is modified to incorporate predetermined velocity vd, observed velocity vOBS, actual acceleration aAcc, and predetermined acceleration ad in the calculation to determine engine speed correction ωc.

As shown in FIG. 7, for feedback system 102 it is also possible to incorporate a comparator to determine the velocity magnitude difference between the desired velocity vd and the observed velocity vOBS. Likewise, it is possible to incorporate another comparator to determine the acceleration magnitude difference between the desired acceleration ad and actual acceleration aAcc. The algorithm 14 would be modified to incorporate the velocity magnitude difference and the acceleration magnitude difference in the calculation to determine engine speed correction ωc.
For system 102 and other systems which incorporates the use of a inertia measuring device, the algorithms 14 and 26, respectively, could include any common or advanced control loop transfer function including, but not limited to, series, parallel, ideal, interacting, noninteracting, analog, classical, and Laplace types. For both the algorithms 14 and 26 the embodiment utilizes a simple proportional-integral-derivative (PID) algorithm of the following type (exemplified by the algorithm 14 transfer function):

ωc=Kpεv+Kdεa+∫Kiεvdt. 

Where Kp, Kd, and Ki are, respectively, the appropriate proportional, derivative, and integral gains.

Diagrammed in FIG. 8 is feedback system 103 which is an alternate embodiment of the present invention. In this embodiment, system 103 incorporates an inertia measuring device 11, and a velocity measuring device 31. The inertia measuring device 11 measures the actual acceleration aAcc of a watercraft 50 and the velocity measuring device 31 measures the actual velocity vVMD of the same watercraft 50. The algorithm 14 is modified to incorporate desired velocity vd, desired acceleration ad, actual acceleration aAcc, and actual velocity vVMD in the calculation to determine engine speed correction ωc.
As shown in FIG. 9, for feedback system 103 it is also possible to incorporate a comparator to determine the velocity magnitude difference between the desired velocity vd and the actual velocity vVMD. Likewise, it is possible to incorporate another comparator to determine the acceleration magnitude difference between the desired acceleration ad and actual acceleration aAcc. The algorithm 14 would be modified to incorporate the velocity magnitude difference and the acceleration magnitude difference in the calculation to determine engine speed correction ωc.
Diagrammed in FIG. 10 is feedback system 106 which is another embodiment of the present invention. In this embodiment, system 106 incorporates an inertia measuring device 11 without a velocity measuring device. The inertia measuring device 11 measures the actual acceleration aAcc of a watercraft 50. The algorithm 14 is modified to incorporate desired velocity vd, desired acceleration ad, and actual acceleration aAcc in the calculation to determine engine speed correction ωc.
As shown in FIG. 11, for feedback system 106 it is also possible to incorporate a comparator to determine the acceleration magnitude difference between the desired acceleration ad and actual acceleration aAcc. The algorithm 14 would be modified to incorporate the acceleration magnitude difference in the calculation to determine engine speed correction ωc.
Diagrammed in FIG. 12 is feedback system 108 which is another embodiment of the present invention. In this embodiment, system 108 incorporates a velocity measuring device 31 and a GPS device 10 both of which capable of measuring the velocity of watercraft 50. The velocity measuring device measures velocity vVMD and the GPS device measures velocity vGPS of the same watercraft 50. In this embodiment, algorithm 14 is modified to incorporate desired velocity vd, velocity vVMD, and velocity vGPS in the calculation to determine engine speed correction ωc.
Diagrammed in FIG. 13 is feedback system 109 which incorporates an algorithm 17 and comparator 12. The output of the velocity measuring device 31 vVMD and the output of the GPS device measures velocity vGPS are input into algorithm 17 which calculates observed velocity vOBS according to the formula

vOBS=KP(vVMD−vGPS)+KD(d/dt)(vVMD−vGPS)=∫Ki(vVMD−vGPS)

Observed velocity vOBS may be sent to either comparator 12 or algorithm 14. If observed velocity vOBS is sent to comparator 12, then comparator 12 determines the velocity magnitude difference between the desired velocity vd and the observed velocity vOBS. Comparator 12 output velocity error εv is input to an algorithm 14 that converts εv to engine speed correction ωc that is input to a second comparator 16. If observed velocity vOBS is sent to algorithm 14, in this embodiment algorithm 14 is modified to incorporate predetermined velocity vd and observed velocity vOBS in the calculation to determine engine speed correction ωc.
It will be apparent to those with ordinary skill in the relevant art having the benefit of this disclosure that the present invention provides an apparatus for controlling the velocity of a watercraft. It is understood that the forms of the invention shown and described in the detailed description and the drawings are to be taken merely as examples and that the invention is limited only by the language of the claims. The drawings and detailed description presented herein are not intended to limit the invention to the particular embodiments disclosed. While the present invention has been described in terms of alternate embodiments and a few variations thereof, it will be apparent to those skilled in the art that form and detail modifications can be made to that embodiment without departing from the spirit or scope of the invention.

## Claims

1. A system for controlling the velocity of a watercraft having an engine for propulsion, said system comprising:
a velocity measuring device capable of obtaining a measurement of the velocity magnitude of said watercraft;
a control input device capable of accepting an input of a predetermined velocity for said watercraft;
a tachometer device capable of measuring the speed of said engine propelling said watercraft;
a control module comprising:
an engine speed algorithm capable of creating a first engine speed output correction from said velocity magnitude and said predetermined velocity;
an engine speed comparator capable of determining the engine speed error between said tachometer speed measurement and said first engine speed output correction of said engine speed algorithm;
an engine torque algorithm capable of creating a first engine torque output correction from said engine speed error; and said first engine torque output correction being capable of causing said watercraft to be propelled at substantially said predetermined velocity.

2. A system for controlling the velocity of a watercraft having an engine for propulsion, said system comprising:
a velocity measuring device capable of obtaining a measurement of the velocity magnitude of said watercraft;
control input device capable of accepting an input of a predetermined velocity for said watercraft;
a tachometer device capable of measuring the speed of said engine propelling said watercraft;
a control module comprising:
an engine speed algorithm capable of creating a first engine speed output correction from said velocity magnitude and said predetermined velocity;
an engine torque algorithm capable of creating a first engine torque output correction from said tachometer speed measurement and said first engine speed output correction of said engine speed algorithm; and said first engine torque output correction being capable of causing said watercraft to be propelled at substantially said predetermined velocity.

3. A system for controlling the velocity of a watercraft having an engine for propulsion, said system comprising:
a velocity measuring device capable of obtaining a measurement of the velocity magnitude of said watercraft;
control input device capable of accepting an input of a predetermined velocity for said watercraft;
a control module comprising:
an engine speed algorithm capable of creating a first engine speed output correction from said velocity magnitude and said predetermined velocity;
an additional engine speed algorithm capable of creating a second engine speed output correction corresponding to an input representative of said predetermined velocity, said second engine speed output correction representing a dynamic historical value of the speed of an engine propelling said watercraft at a velocity approximately equal to said predetermined velocity; and
an engine speed comparator capable of summing said first engine speed output correction of said engine speed algorithm and said second engine speed output correction of said additional engine speed algorithm, said sum capable of causing said watercraft to be propelled at substantially said predetermined velocity.

4. An apparatus as in claims 1, 2 or 3 wherein said velocity measuring device is selected from the group consisting of a GPS device, a paddle wheel, and a pitot tube.

5. A system as in claims 1 or 2, said control module further comprising:
an additional engine torque algorithm capable of creating a second engine torque output correction corresponding to an input representative of said first engine speed output correction of said engine speed algorithm, said second engine torque output correction representing a dynamic historical value of the torque required to change the engine speed of an engine propelling said watercraft an amount approximately equal to said first engine speed output correction of said engine speed algorithm; and
a torque comparator capable of summing said first engine torque output correction of said engine torque algorithm and said second engine torque output correction of said additional engine torque algorithm, said sum being capable of causing said watercraft to be propelled at substantially said predetermined velocity.

6. A system as in claim 5 wherein said additional engine torque algorithm is capable of building a table of discrete data pairs of engine speed correction and torque required to produce said engine speed correction as said watercraft is repeatedly operated for calibration over a prevailing set of ambient conditions, said additional engine torque algorithm being capable of determining interpolated and extrapolated data points among and extending from said data pairs collected during said calibration operation of said watercraft.

7. A system as in claim 5 wherein said additional engine torque algorithm is capable of building a table of discrete data pairs of engine speed and torque required to produce said engine speed as said watercraft is repeatedly operated for calibration over a prevailing set of ambient conditions, said additional engine torque algorithm being capable of determining interpolated and extrapolated data points among and extending from said data pairs collected during said calibration operation of said watercraft.

8. A system as in claim 6 wherein said additional engine torque algorithm is capable of determining a condition of predetermined change in a predetermined parameter prior to updating said table.

9. A system as in claim 7 wherein said additional engine torque algorithm is capable of determining a condition of predetermined change in a predetermined parameter prior to updating said table.

10. A system as in claim 3 wherein said additional engine speed algorithm is capable of building a table of discrete data pairs of velocity magnitude and engine speed of said watercraft as said watercraft is repeatedly operated for calibration over a prevailing set of ambient conditions, said additional engine speed algorithm being capable of determining interpolated and extrapolated data points among and extending from said data pairs collected during said calibration operation of said watercraft.

11. A system as in claim 10 wherein said additional engine speed algorithm is capable of determining a condition of predetermined change in a predetermined parameter prior to updating said table.

12. A system for controlling the velocity of a watercraft having an engine for propulsion, said system comprising:
a velocity measuring device capable of obtaining a measurement of the velocity magnitude of said watercraft;
a control input device capable of accepting an input of a predetermined velocity for said watercraft;
a tachometer device capable of measuring the revolutions per minute of a drive shaft of said engine propelling said watercraft;
a control module comprising
an engine speed algorithm capable of creating a first engine speed output correction from said velocity magnitude and said predetermined velocity;
an engine torque algorithm capable of creating a first engine torque output correction from said tachometer revolutions per minute measurement and said first engine speed output correction of said engine speed algorithm; and said first engine torque output correction being capable of causing said watercraft to be propelled at substantially said predetermined velocity.

13. A system for controlling the velocity of a watercraft having an engine for propulsion, said system comprising:
a velocity measuring device capable of obtaining a measurement of the velocity magnitude of said watercraft;
a control input device capable of accepting an input of a predetermined velocity for said watercraft;
a tachometer device capable of measuring the speed of said engine propelling said watercraft;
a control module comprising an algorithm capable of creating a first engine torque output correction from said tachometer speed measurement, said velocity measurement, and said predetermined velocity; and said first engine torque output correction being capable of causing said watercraft to be propelled at substantially said predetermined velocity.

14. A system as in claims 12 or 13 wherein said velocity measuring device is selected from the group consisting of a GPS device, a paddle wheel, and a pitot tube.