Vessel maneuvering methods and systems

A method for maneuvering a marine vessel powered by a propulsion system includes accepting inputs to an electronic navigation device and generating a desired track based on the inputs. The desired track includes a series of waypoints, each waypoint in the series of waypoints being associated with a respective heading. The method also includes sending position and orientation information corresponding to each waypoint and its associated heading to a control module. Based on the position and orientation information, the control module generates steering and thrust commands that are required to maneuver the marine vessel from a current waypoint and heading in the series to a following waypoint and heading in the series. According to the steering and thrust commands, the propulsion system thereafter propels the marine vessel along the desired track to each waypoint and its associated heading in succession. A corresponding system is also disclosed.

FIELD

The present disclosure relates to automatic positioning systems and methods for marine vessels.

BACKGROUND

U.S. Pat. No. 6,273,771, which is hereby incorporated by reference herein, discloses a control system for a marine vessel that incorporates a marine propulsion system that can be attached to a marine vessel and connected in signal communication with a serial communication bus and a controller. A plurality of input devices and output devices are also connected in signal communication with the communication bus and a bus access manager, such as a CAN Kingdom network, is connected in signal communication with the controller to regulate the incorporation of additional devices to the plurality of devices in signal communication with the bus whereby the controller is connected in signal communication with each of the plurality of devices on the communication bus. The input and output devices can each transmit messages to the serial communication bus for receipt by other devices.

U.S. Pat. No. 7,305,928, which is hereby incorporated by reference herein, discloses a vessel positioning system that maneuvers a marine vessel in such a way that the vessel maintains its global position and heading in accordance with a desired position and heading selected by the operator of the marine vessel. When used in conjunction with a joystick, the operator of the marine vessel can place the system in a station keeping enabled mode and the system then maintains the desired position obtained upon the initial change in the joystick from an active mode to an inactive mode. In this way, the operator can selectively maneuver the marine vessel manually and, when the joystick is released, the vessel will maintain the position in which it was at the instant the operator stopped maneuvering it with the joystick.

U.S. Pat. No. 8,478,464, which is hereby incorporated by reference herein, discloses systems and methods for orienting a marine vessel to enhance available thrust in a station keeping mode. A control device having a memory and a programmable circuit is programmed to control operation of a plurality of marine propulsion devices to maintain orientation of a marine vessel in a selected global position. The control device is programmed to calculate a direction of a resultant thrust vector associated with the plurality of marine propulsion devices that is necessary to maintain the vessel in the selected global position. The control device is programmed to control operation of the plurality of marine propulsion devices to change the actual heading of the marine vessel to align the actual heading with the thrust vector.

SUMMARY

A method for maneuvering a marine vessel powered by a propulsion system is disclosed. The method includes accepting inputs to an electronic navigation device and generating a desired track based on the inputs, wherein the desired track includes a series of waypoints, each waypoint in the series of waypoints being associated with a respective heading. The method also includes sending position and orientation information corresponding to each waypoint and its associated heading to a control module. Based on the position and orientation information, the control module generates steering and thrust commands that are required to maneuver the marine vessel from a current waypoint and heading in the series to a following waypoint and heading in the series. According to the steering and thrust commands, the propulsion system thereafter propels the marine vessel along the desired track to each waypoint and its associated heading in succession.

A navigational system for a marine vessel is provided according to another example of the present disclosure. The navigational system includes an electronic navigation device, a control module in signal communication with the electronic navigation device, and a vessel propulsion system in signal communication with the control module. The electronic navigation device generates a desired track including a series of waypoints, each waypoint in the series of waypoints being associated with a respective heading. The control module receives position and orientation information corresponding to each waypoint and its associated heading from the electronic navigation device. Based on the position and orientation information, the control module directs the vessel propulsion system to propel the marine vessel along the desired track to each waypoint and its associated heading in succession.

DETAILED DESCRIPTION

In the present description, certain terms have been used for brevity, clarity and understanding. No unnecessary limitations are to be inferred therefrom beyond the requirement of the prior art because such terms are used for descriptive purposes only and are intended to be broadly construed.

Referring toFIG. 1, in a station keeping mode, a marine vessel10can be maintained in a single global position (defined by latitude and longitude) and at a predetermined heading by way of an algorithm that controls the vessel's propulsion devices12,14to counteract the effects of wind, waves, current, etc. that would tend to move the vessel10off this location and/or to a new heading. In essence, the propulsion devices12,14are controlled to maintain the vessel10at a virtual anchor point. A control module16that controls thrust and angular orientation of the propulsion devices12,14acts as a joystick and calculates left/right, fore/aft, and yaw commands required to drive the vessel's position error and heading error to zero. The control module16can control one or more propulsion devices12,14to do so, which may be located at the rear of the vessel10such as with outboards or stern drives, under the vessel10such as with pod drives, and/or at the front, back, or sides of the vessel10such as with thrusters.

An example of the inputs to the control module's calculations is shown inFIG. 1. In this example, the actual global position (AP) of a preselected point on the vessel10, as determined by a GPS receiver, is not equal to a setpoint target global position (TP), and thus the control module16will calculate a course over ground (COG) that the vessel10must travel to reach the target global position TP. Additionally, a setpoint target heading (TH) is 27 degrees from north, while the actual heading (AH) read from a compass or an inertial measurement unit (IMU) is 35.8 degrees. The control module16will therefore determine that a counterclockwise yaw movement (arrow CCW) of 8.8 degrees is required to return the vessel10to the target heading TH.

The control module16determines when and how much corrective action to take according to a three-dimensional (left/right, fore/aft, and yaw) proportional, integral, and derivative (PID) control algorithm performed by a feedback controller17of the control module16. The integral term allows the control system to reject constant and slowly varying disturbances (e.g., current) while maintaining near zero position error. The proportional and derivative terms handle the quickly varying disturbances. The integral term is also considered to have memory and can take time to increase or decrease, especially if the disturbance forces grow. The PID feedback controller17computes a desired force in the forward/back and left/right directions with reference to the marine vessel10, along with a desired yaw moment relative to the marine vessel10, in order to null the error elements. The computed force and moment elements are then transmitted to the vessel propulsion system, which delivers the requested forces and moments by positioning the independently steerable propulsion devices12,14, controlling the power provided to the propellers of each device, and controlling the thrust vector directions of both devices. Such automatic correction of the position and heading of the marine vessel10can be achieved according to the principles described in U.S. Pat. No. 7,305,928, which was incorporated by reference herein above.

Besides station keeping, a marine vessel can be controlled in a waypoint tracking mode, as disclosed in U.S. Pat. No. 9,377,780, which was incorporated by reference above. In the waypoint tracking mode, the marine vessel10is automatically guided to a waypoint (e.g., a global position defined in terms of latitude and longitude) or to several waypoints along a track. To initiate waypoint tracking mode, for example, the operator of the marine vessel10may select a point or a track from a chart plotter and select waypoint tracking mode from the chart plotter or from a separate autopilot. The control module16then obtains a commanded course from the autopilot according to the information provided by the chart plotter. The control module16then automatically guides the marine vessel10to each waypoint along the track (or to the single selected waypoint) by providing steering and thrust commands to the propulsion devices12,14. For example, referring toFIG. 3, the points301,302,303,304,305,306, and307are waypoints in a track300defined by the solid line arrows. The course from waypoint301to waypoint302is along the solid line arrow connecting the two points. If the marine vessel10veers off this course, such as due to the effect of wind, waves, or the like, the control module16determines the corrective action needed to resume the commanded course so as to guide the marine vessel10back on track. The control module16provides steering and/or thrust commands to the propulsion devices12,14to achieve such corrective action.

In the waypoint tracking mode, the control module16may use a course feedback signal (indicating an estimate of the course along which the marine vessel10is actually being propelled) to determine whether correction needs to be made to the actual course of the marine vessel10in order to maintain the commanded course. The feedback controller17of the control module16uses the course feedback signal to determine how and to what extent the propulsion devices12,14must be steered (and/or provided with what thrust) in order to re-orient the marine vessel10to the commanded course. Such measurement and automatic correction of the course of the marine vessel10can be achieved according to the principles described in U.S. Pat. Nos. 9,039,468 and 9,377,780, the disclosures of which are hereby incorporated by reference in their entireties.

Currently, as described herein above, station keeping allows a vessel10to be electronically anchored at a single target position TP and a particular target heading TH. Waypoint tracking allows a vessel10to be automatically guided along a track300by traveling from one latitude/longitude coordinate to another. If features such as fish-following and fine waypoint tracking are available, both of which will be described herein below, the control module16will repeatedly be controlling the vessel10to a new position and/or heading while the given functionality is enabled. The following examples expand upon and combine the station keeping and waypoint tracking concepts in innovative ways to provide fish-finding and fine waypoint tracking maneuvers that were heretofore not available for larger vessels propelled by propulsion devices12,14that use internal combustion engines for power. The following methods can be implemented on multi-engine vessels (seeFIG. 1) or on single-engine vessels (seeFIG. 2).

FIG. 2illustrates another example of a marine vessel100and its navigational system102, including an electronic navigation device104and a propulsion control module (PCM)106in signal communication with the electronic navigation device104. The electronic navigation device104comprises a display screen110and user input means112. The user input means112could be one or more of a touch sensitive display screen (which can be the same as the display screen110), a keyboard, a mouse, a track ball, a button or buttons, a stylus, a smart device such as a smart phone or a tablet, a remote control, a voice recognition module, or any other known input means capable of converting an analog input or action to an electronic signal. The electronic navigation device104can, for instance, be a fish finder, a chart plotter, or a combined fish finder and chart plotter. Other electronic navigation devices provided with GPS capabilities or other location determination capabilities and/or fish finding capabilities or other object detection capabilities may be used.

The PCM106controls a vessel propulsion system108, including an engine114, transmission116, steering actuator118, trim actuator120, and propeller122. The vessel propulsion system108may alternatively comprise two or more propulsion devices, as shown at12,14inFIG. 1, which may each have the components listed herein above, although such components are not shown. Returning toFIG. 2, the PCM106is in signal communication via a communication link124with the electronic navigation device104, such as through a helm control module (HCM)126. The HCM126is also in signal communication with a steering wheel128, a throttle/shift lever130, a joystick132, and a number of gauges134, located at or near a helm of the vessel100. A global positioning system (GPS) receiver136is also provided as part of or in signal communication with the electronic navigation device104.

The control modules (such as PCM106and HCM126) are programmable and include a processing system and a storage system. The control modules can be located anywhere on the vessel100and/or located remote from the vessel100and can communicate with various components of the vessel100via peripheral interfaces and wired and/or wireless links, as will be explained further herein below. AlthoughFIG. 2shows two control modules106,126, the vessel100can include one combined control module, such as that shown at16inFIG. 1. Portions of the method disclosed herein below can be carried out by a single control module or by several separate control modules. For example, the system can have a control module126located at or near a helm of the vessel100and can also have control module(s)106located at or near each propulsion device. Either of the PCM106or the HCM126can be the control module that carries out the maneuvering method described in the present disclosure, or portions of the maneuvering method can be carried out separately on the PCM106or the HCM126, which together can be the control module. The electronic navigation device104can be programmed to perform most of the calculations described herein below related to the speed at which the vessel100will navigate a track and whether the vessel100will rotate before or while it is changing geographical position, or the control module(s)106,126can be programmed to perform these parts of the algorithm. The electronic navigation device104can provide commands to the control module(s)106,126on its own initiative, or in response to a command from the control module(s)106,126.

In some examples, the control modules106,126may include a computing system that includes a processing system, storage system, software, and input/output (I/O) interface for communicating with peripheral devices. The systems may be implemented in hardware and/or software that carries out a programmed set of instructions. For example, the processing system loads and executes software from the storage system, such as software programmed with a vessel maneuvering method, which directs the processing system to operate as described herein below in further detail. The computing system may include one or more processors, which may be communicatively connected. The processing system can comprise a microprocessor, including a control unit and a processing unit, and other circuitry, such as semiconductor hardware logic, that retrieves and executes software from the storage system. The processing system can be implemented within a single processing device but can also be distributed across multiple processing devices or sub-systems that cooperate according to existing program instructions. The processing system can include one or many software modules comprising sets of computer executable instructions for carrying out various functions as described herein.

As used herein, the term “control module” may refer to, be part of, or include an application specific integrated circuit (ASIC); an electronic circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor (shared, dedicated, or group) that executes code; other suitable components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip (SoC). A control module may include memory (shared, dedicated, or group) that stores code executed by the processing system. The term “code” may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, and/or objects. The term “shared” means that some or all code from multiple modules may be executed using a single (shared) processor. In addition, some or all code from multiple control modules may be stored by a single (shared) memory. The term “group” means that some or all code from a single control module may be executed using a group of processors. In addition, some or all code from a single control module may be stored using a group of memories.

The storage system can comprise any storage media readable by the processing system and capable of storing software. The storage system can include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, software modules, or other data. The storage system can be implemented as a single storage device or across multiple storage devices or sub-systems. The storage system can include additional elements, such as a memory controller capable of communicating with the processing system. Non-limiting examples of storage media include random access memory, read-only memory, magnetic discs, optical discs, flash memory, virtual and non-virtual memory, various types of magnetic storage devices, or any other medium which can be used to store the desired information and that may be accessed by an instruction execution system. The storage media can be a transitory storage media or a non-transitory storage media such as a non-transitory tangible computer readable medium.

The control module106,126communicates with one or more components on the vessel100via its respective I/O interface and the communication link124, which can be a wired or wireless link. In one example, the communication link124is a controller area network (CAN) bus, but other types of links could be used.

The provided description of the control module is conceptual and should be interpreted generally, as those skilled in the art will recognize many ways to implement such a control module. These include implementation using a digital microprocessor that receives input signals and performs a calculation using the input signals to produce the corresponding output signals or actuator control signals. Also, analog computers may be used, which comprise circuit elements arranged to produce the desired outputs. Furthermore, look-up tables containing predetermined or calibrated data points may be stored in any fashion to provide the desired output corresponding to a given input signal.

Below, the maneuvering methods of the present disclosure will be described as being carried out by the HCM126so as to explain the system shown inFIG. 2, although it should be understood that the references thereto apply equally to the PCM106or to a single vessel control module16, either of which can carry out a portion or a whole of the maneuvering methods described herein.

Referring toFIG. 3, in the present example, the electronic navigation device104generates a desired track308including a series of waypoints as shown by the dotted line (wherein each dot is a waypoint) based on inputs to be described herein below. As shown inFIG. 4, each waypoint in the series of waypoints is associated with a respective heading. Not all desired headings are shown herein for purposes of clarity, but the headings310,314,318,322,326, and330(associated with the exemplary waypoints312,316,320,324,328, and332) are shown for purposes of further explanation. For example, the waypoint312is associated with the heading310; the waypoint316is associated with the heading314; the waypoint320is associated with the heading318; etc. The control module126receives position and orientation information corresponding to each waypoint and its associated heading from the electronic navigation device104. Based on the position and orientation information, the control module126directs the vessel propulsion system108to propel the marine vessel100along the desired track308to each waypoint and its associated heading in succession. The present maneuvering algorithms provide control over each of vessel heading, vessel orientation relative to vessel course over ground, and vessel global position while waypoint tracking. The present algorithms allow the user to modify the anchor setpoint for the vessel via the electronic navigation device104to provide very fine adjustments in position and heading so that complex patterns can be followed, such as a fishing pattern, a short route, or a tight route (e.g., along a reef or trench).

In one example, the control module126can be communicatively connected with a device such as a radar, sonar, traducer-based, radio-based or other type of fish finding device in order to control the vessel to follow a single fish or a school of fish. For example,FIG. 2shows a transducer assembly138for detecting an aquatic life form, wherein the transducer assembly138is in signal communication with the electronic navigation device104. The electronic navigation device104can generate a desired track based on the location of the detected aquatic life form. For example, a specific fish can be used as a target, or the center of mass of a school of fish can be used as the target. The operator of the vessel100can specify the target by selecting it via the user input means112when the target appears on the display screen110of the electronic navigation device104. In one example, based on a detected direction of movement of the target, the electronic navigation device104will set a waypoint in the detected direction of travel. The waypoint can be set at a short distance away, within which it is likely the same target can again be found with the transducer assembly138. In another example, the transducer assembly138continually tracks the position of the target, and this information is transmitted to the electronic navigation device104, which sends the new position of the target as the next waypoint to the control module126. Either of these methods can continue for as long as desired, thereby creating a track308along which the vessel100follows the target.

The operator of the vessel100can choose by way of the user input means112to maintain the vessel100at any orientation with respect to the target, such as directly above it, 20 meters to the east, etc. As wind or current move the boat, or as the fish themselves move, the vessel100is automatically controlled to maintain its position relative to the fish. The operator could also select a deadband for control, wherein the vessel100would not change position until the target fish or school of fish has moved beyond a particular threshold from the vessel100. The operator may also select the heading he wishes to maintain, which may or may not be the same as the direction of travel between waypoints/fish locations.

The fish-following algorithm could end automatically in response to detection of shallow water, a shoreline, or other obstruction by another sensor such as a radar or a sonar on the vessel100. The fish-following algorithm could also end in response to cancellation by the operator via the user input means112. The vessel100could be maintained at the position and heading it is currently at when the fish-finding algorithm ends.

In another example, the navigational system102can be provided with fine waypoint tracking control, including heading control, by way of the electronic navigation device104, which may generate a desired track308based on a desired route on a navigational map340displayed on the display screen110. For example, the operator can choose an existing route saved in the memory of the electronic navigation device104or can download a list of waypoints corresponding to the desired route from the internet or an external drive or disk, which route can be overlaid on the navigational map340and displayed on the display screen110. Alternatively, the user can draw a desired route on the navigational map340shown on the display screen110, for example via user input means112such as a touch screen interface activated by the operator's finger and/or a stylus or such as a mouse that controls a cursor on the display screen110. The electronic navigation device104will then set the route, however it is entered, as the desired track308.

The operator can choose to navigate the desired track308in any direction or orientation with respect to the track, including in forward or in a left-right direction. The operator can specify headings to be associated with each waypoint in the desired track308via the user input means112, such as via a keyboard, mouse, or buttons that allow the operator to select each waypoint or groups of waypoints in turn, either from the map340or from a list of waypoints presented on the display screen110, and to assign a heading to that waypoint or group of waypoints. Alternatively, the operator could select a given waypoint using a stylus or finger, and then swipe across the interactive display screen110in the direction of the desired heading.

The electronic navigation device104may update the virtual anchor point as the vessel100arrives at each new waypoint along the track308, such as by providing a stream of discrete anchor points to the control module126over time. The control module126will cause the vessel100to move to each new anchor point as it is updated by the electronic navigation device104. The electronic navigation device104can transmit the anchor point based on a given time interval, a particular distance from the following or preceding waypoint, etc. so that the speed of the route can be controlled with great precision. In one example, the user input means112allows for user control over a speed at which the marine vessel100is propelled along the desired track308. For example, the operator can choose to send the position and orientation information corresponding to each waypoint and its associated heading to the control module126in succession at a predetermined time interval, which time interval may be chosen by the operator and may be a measured in seconds or defined by a bit rate. In another example, the operator may choose to have the electronic navigation device104send the position and orientation information for the following waypoint and heading only after reaching the current waypoint and heading. In yet another example, the operator may choose to have the electronic navigation device104send the position and orientation information for the following waypoint and heading only after coming within a given distance of the current waypoint and heading. In other examples, the electronic navigation device104may send the position and orientation information in chunks, such as for five waypoints at a time. In other examples, the electronic navigation device104may send all of the position and orientation information for all waypoints in the track308at once, and the control module126can independently determine at what speed to travel. For example, the speed at which to travel along the track308may be determined by a position of the joystick132or of the throttle/shift lever130. In another example, the vessel speed or a prescribed thrust may be predetermined based on code saved in the memory of the control module126.

The operator may also choose to maintain the marine vessel100at a given waypoint in the series of waypoints and at the heading associated with the given waypoint for a predetermined period of time. For example, the navigational system102can be used to progress along a track308, pause for a certain period of time at a particular waypoint312, and then continue progression. The operator could choose to remain (i.e., to electronically anchor) at one or all of the waypoints for a predetermined period of time before continuing to the next waypoint in the track. This feature could also be a default according to the software code in the control module126.

As shown inFIG. 4, each waypoint could be associated with a particular heading, which need not be in the direction the vessel100is traveling. In other words, the heading may be independent of the path between the two waypoints, such that the heading associated with a following waypoint is not equal to a bearing between the current waypoint and the following waypoint. For example, the headings318,322associated with waypoints320and324are rotated clockwise with respect to the course/bearing between the waypoints320,324. The desired heading need not even be forward-directed. For example, the heading (i.e., direction of the bow of the vessel100) is backwards with respect to the course between waypoints328and332, such that headings326,330are rotated more than90degrees clockwise from the course between the two. In other examples, the marine vessel100could be programmed to travel sideways, with its port or starboard side perpendicular to the course between two waypoints, or in reverse, such that the bow of the vessel100is pointed toward the previous waypoint and the stern leads toward the following waypoint.

The switch from one heading to another may also be accomplished in various ways. In one example, the marine vessel100is propelled to a given waypoint in the series of waypoints while simultaneously being rotated to the heading associated with the given waypoint. For example, ignoring the waypoints between waypoint324and waypoint328, the marine vessel100would be rotated from heading322to heading326while travelling from waypoint324to waypoint328. The waypoints between324and328could be paired with intermediate headings to precisely control the amount by which the heading changes at each given location between the two waypoints324,328. Alternatively, the difference between headings322and326can be divided by the time it will take to travel between waypoints324and328, and the vessel100can turn at a constant rate of x degrees per unit time. In another example, the marine vessel100is propelled to a given waypoint in the series of waypoints after the marine vessel100has been rotated to the heading associated with the given waypoint. For example, ignoring the waypoints between waypoint324and waypoint328, the marine vessel100is rotated in place at waypoint324from heading322to heading326. The marine vessel100then travels from waypoint324to waypoint328at the heading326. The user input means112can allow for user selection between: (a) propelling the marine vessel to a given waypoint in the series of waypoints while simultaneously rotating the marine vessel to the heading associated with the given waypoint; and (b) propelling the marine vessel to the given waypoint after rotating the marine vessel to the heading associated with the given waypoint by way of selection of a certain menu item, button, or similar on the electronic navigation device104.

Comparing the tracks300and308shown inFIG. 3, using the method of the present disclosure for setting waypoints allows for much finer control along the track308than along the track300. Fewer or more waypoints (as selected by the operator) could be provided to provide tighter or looser control along the track308. For example, curves can be traversed by way of setting a number of waypoints that form an arc.

Turning toFIG. 5, a method for maneuvering a marine vessel100powered by a vessel propulsion system108will be described. As shown at500A, the method may include accepting user inputs relating to a desired route on a navigational map340. Alternatively, as shown at500B, the method may include accepting transducer inputs related to a location of an aquatic life form, such as a fish. Next, as shown at502, the method includes accepting inputs (whether they are user inputs or transducer inputs) to an electronic navigation device104. As shown at504, the method includes generating a desired track308based on the inputs, wherein the desired track308includes a series of waypoints (e.g.312,316, etc.), each waypoint in the series of waypoints being associated with a respective heading. (e.g.,310,314, etc.). As shown at506, the method includes sending position and orientation information corresponding to each waypoint and its associated heading to a control module, which may be a single control module16or a helm control module126and/or a propulsion control module106. As shown at508, based on the position and orientation information, the control module generates steering and thrust commands that are required to maneuver the marine vessel100from a current waypoint and heading in the series to a following waypoint and heading in the series. The control module does this by treating the current waypoint and heading as the actual position and heading of the vessel and the following waypoint and heading as the target waypoint and heading, and carrying out the station keeping method described herein above with respect toFIG. 1. As shown at510, according to the steering and thrust commands, the vessel propulsion system108thereafter propels the marine vessel100along the desired track308to each waypoint and its associated heading in succession.

The method may also include controlling a speed at which the vessel propulsion system108propels the marine vessel100along the desired track, as shown at512and/or maintaining the marine vessel100at a given waypoint in the series of waypoints and at the heading associated with the given waypoint for a predetermined period of time, as shown at514. The method may additionally or alternatively include propelling the marine vessel100to a given waypoint in the series of waypoints while simultaneously rotating the marine vessel100to the heading associated with the given waypoint, as shown at516A, or propelling the marine vessel100to a given waypoint in the series of waypoints after rotating the marine vessel100to the heading associated with the given waypoint, as shown at516B.

Thus, by presenting the waypoints in a desired track308as discrete station keeping anchor points delivered to the control module16,106,126at predetermined times, fine control over both the global position and heading of the vessel100can be used to provide fish-following and fine waypoint tracking capabilities, including tight control over the speed at which the vessel100traverses the desired track308.

In the above description, certain terms have been used for brevity, clarity, and understanding. No unnecessary limitations are to be inferred therefrom beyond the requirement of the prior art because such terms are used for descriptive purposes and are intended to be broadly construed. The different systems and method steps described herein may be used alone or in combination with other systems and methods. It is to be expected that various equivalents, alternatives and modifications are possible within the scope of the appended claims. Each limitation in the appended claims is intended to invoke interpretation under 35 U.S.C. § 112(f), only if the terms “means for” or “step for” are explicitly recited in the respective limitation.