A method for controlling a watercraft includes acquiring a desired heading
of the watercraft, acquiring an actual heading of the watercraft at time
T.sub.0, calculating a heading error by comparing the desired heading
with the actual heading and determining a rate of change of the heading
error. A P gain, I gain and D gain for use in maintaining the heading of
the watercraft is determined and used to calculate factors related to
heading error, cumulative heading error and rate of change of heading
error. These factors are summed to form a control value for deflecting a
nozzle of the watercraft to maintain a heading of the watercraft. Further
embodiments include methods for calculating and correcting a heading of
the watercraft, as well as methods for controlling roll out and sideways
motion of the watercraft.