Patent Description:
In some industries, such as the agricultural and mining industries, it may be desirable to provide accurate navigational guidance for terrestrial vehicles. For example only, a tractor or other agricultural vehicle may be plowing, tilling, planting, harvesting, or otherwise working in a field. In order to provide complete coverage of the field in the most efficient manner, the vehicle may utilize a navigation system that assists with guiding the vehicle along a desired path. In yet another example, a mining vehicle may wish to travel along a desired path through and/or to and from a mining location and utilize a navigation system to do so. Such navigation systems may utilize a global navigation satellite system ("GNSS") or similar system to assist with the location and guidance services. A GNSS is a system of satellites that provide geospatial positioning for a receiver or group of receivers. <CIT> discloses a global navigation satellite system (GNSS) and gyroscope control system for vehicle steering control comprising a GNSS receiver and antennas at a fixed spacing to determine a vehicle position, velocity and at least one of a heading angle, a pitch angle and a roll angle based on carrier phase position differences. The system also includes a control system configured to receive the vehicle position, heading, and at least one of roll and pitch, and configured to generate a steering command to a vehicle steering system. <CIT> discloses a method for steering an agricultural vehicle comprising: receiving global positioning system (GPS) data including position and velocity information corresponding to at least one of a position, velocity, and course of the vehicle; receiving a yaw rate signal; and computing a compensated heading, the compensated heading comprising a blend of the yaw rate signal with heading information based on the GPS data. Terms and definitions relating to aided and unaided inertial system for navigation, guidance, orientation, stabilization, and related applications are presented in IEEE Standard for Inertial Systems Terminology, <NUM> August <NUM>. Usage as understood by the inertial systems community is given preference over general technical usage of the terms herein.

Current navigation systems and methods for terrestrial vehicles (tractors, mining vehicles, etc.) may suffer from a number of limitations that affect the accuracy or other performance of the guidance. There remains a need for an improved navigation system for terrestrial vehicles.

According to various aspects of the present disclosure, a method for guiding a terrestrial vehicle along a desired path is disclosed. The method can include receiving a position signal from a global navigation satellite system (GNSS) antenna mounted at a first location on the terrestrial vehicle. The position signal can be indicative of a spatial position of the GNSS antenna as indicated by the GNSS. The method can further include receiving a gyro signal from a gyro sensor that is indicative of: (i) at least one of a pitch and a roll of the terrestrial vehicle, and (ii) a gyro-based heading direction. Additionally, the method can include determining a position of a point of interest of the terrestrial vehicle at a second location different than the first location based on the position signal, the gyro signal, and a positional relationship between the first location and the second location. The position of the point of interest of the terrestrial vehicle can be determined with respect to a surface upon which the terrestrial vehicle is positioned and can be corrected for at least one of the pitch and the roll of the terrestrial vehicle. The method can further include determining a position-based heading direction of the point of interest of the terrestrial vehicle based on the determined position of the point of interest and at least one previously determined position of the point of interest, and determining a calibrated heading direction based on a combination of the gyro-based heading direction and the position-based heading direction. The method can also include outputting a control signal based on the position of the point of interest, the calibrated heading direction, and the desired path. The control signal can be configured to be used to assist with guiding the terrestrial vehicle such that the position of the point of interest is on the desired path.

According to additional aspects of the present disclosure, a navigation system for a terrestrial vehicle is disclosed. The navigation system can include one or more processors and a non-transitory computer-readable storage medium having a plurality of instructions stored thereon, which, when executed by the one or more processors, cause the one or more processors to perform various operations. These operations can include receiving a position signal from a global navigation satellite system (GNSS) antenna mounted at a first location on the terrestrial vehicle. The position signal can be indicative of a spatial position of the GNSS antenna as indicated by the GNSS. The operations can further include receiving a gyro signal from a gyro sensor that is indicative of: (i) at least one of a pitch and a roll of the terrestrial vehicle, and (ii) a gyro-based heading direction. Additionally, the operations can include determining a position of a point of interest of the terrestrial vehicle at a second location different than the first location based on the position signal, the gyro signal, and a positional relationship between the first location and the second location. The position of the point of interest of the terrestrial vehicle can be determined with respect to a surface upon which the terrestrial vehicle is positioned and can be corrected for at least one of the pitch and the roll of the terrestrial vehicle. The operations can further include determining a position-based heading direction of the point of interest of the terrestrial vehicle based on the determined position of the point of interest and at least one previously determined position of the point of interest, and determining a calibrated heading direction based on a combination of the gyro-based heading direction and the position-based heading direction. The operations can also include outputting a control signal based on the position of the point of interest, the calibrated heading direction, and the desired path. The control signal can be configured to be used to assist with guiding the terrestrial vehicle such that the position of the point of interest is on the desired path.

Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.

As briefly mentioned above, there remains a need for improved terrestrial vehicle navigation systems and methods. For example only, in some situations a terrestrial vehicle may include a self-propelled portion (such as, a tractor) and a non-propelled portion (such as, a towed implement). In such cases, an operator may wish to guide the non-propelled portion (or a specific location thereof) along a desired path. Typical navigation systems will utilize the location as determined by a GNSS receiver located on the self-propelled portion to guide the vehicle on the desired path. In the event that the receiver location differs from the location of interest to the operator (e.g. the receiver is located apart from the towed implement), the navigation system may lack the desired accuracy and the actual path of travel of the vehicle may differ from the desired path.

In yet another example, the desired path of the terrestrial vehicle may be across uneven and/or sloped terrain, which can result in an error or offset of the actual location of the vehicle (or point of interest thereon) when compared to the sensed location of the GNSS receiver. For example only, an operator of a tractor that includes a towed planter attachment may wish to seed a field at specific locations, such as in rows. The field may be rough and uneven, which causes the tractor to bounce and sway as it travels across the field, causing changes to the pitch and roll of the vehicle. The sensed location of the receiver, due in part to the changes in the pitch and roll of the vehicle, may greatly vary from the actual location of the towed planter attachment. This may be especially true in the common situation in which the receiver is located at an elevated point of the vehicle (e.g., on the roof) and the towed element is proximate or at the ground level. Thus, utilizing the sensed location of the receiver on the tractor may result in a deviation from the desired planting location, resulting in a suboptimal guidance along the desired path.

The present disclosure is directed to systems and methods of terrestrial vehicle navigation that address one or more of the limitations described above. More specifically, the present disclosure is directed to systems and methods for guiding terrestrial vehicles that address any discrepancies between the location of the receiver as sensed and the location of the point of interest on the vehicle, e.g., due to the pitch, roll, and/or other unforeseen factors encountered while travelling along the desired path.

The systems and methods can include utilizing a sensed location of the GNSS receiver, a received gyro signal from one or more gyro sensors attached to the vehicle, and a positional relationship between the receiver location and the location of the point of interest on the vehicle to determine a compensated position of the point of interest. Further, the compensated position as well as past compensated positions can be utilized to determine an actual heading direction of the point of interest. The compensated position, the heading direction, and a desired path can be compared to determine a control signal for the vehicle. The control signal can provide a guidance control signal to an automated steering system and/or to an operator of the vehicle to assist in guiding the vehicle along the desired path.

Referring now to <FIG> and <FIG>, an example terrestrial vehicle <NUM> that includes a navigation system <NUM> according to some implementations of the present disclosure is shown. As mentioned above, the terrestrial vehicle <NUM> can take any form, but is illustrated as a two part vehicle that includes a tractor 10A that is towing a towable implement 10B. The navigation system <NUM> can include one or more global navigation satellite system ("GNSS") antennae <NUM> and one or more gyro sensors <NUM>. As described more fully below, the navigation system <NUM> can assist with guiding the terrestrial vehicle <NUM> along a desired path <NUM>.

With further reference to <FIG>, the terrestrial vehicle <NUM> can travel along a surface <NUM> such as a dirt path, field, or other form of ground. The surface <NUM> may be uneven, undulating, and/or in other ways different from a theoretical flat surface <NUM>. In the illustrated example of <FIG>, the surface <NUM> is shown as being angled with respect to the theoretical flat surface <NUM> by an angle θ. Due to the divergence of the actual surface <NUM> from the theoretical flat surface <NUM>, the sensed position <NUM> (as sensed by the GNSS sensor <NUM>) will differ from the actual position <NUM> of the terrestrial vehicle <NUM> with respect to surface <NUM> by an error e. In addition to or alternatively, this error can be caused by the pitch and/or roll of the terrestrial vehicle <NUM> as it travels along the surface <NUM>. For example only, while the terrestrial vehicle <NUM> is travelling along the surface <NUM> obstacles (rocks, ruts, etc.) may cause the vehicle <NUM> to pitch and/or roll, thereby causing the GNSS antenna <NUM> to sense a position <NUM> different from the actual position <NUM>. This may be particularly true in the configuration where, as is typical, the GNSS antenna <NUM> is mounted at an uppermost point of the terrestrial vehicle <NUM>, such as on the roof of a tractor 10A.

Furthermore, in addition to the deviation of the sensed position <NUM> from the actual position <NUM>, e.g., due to surface irregularities, the sensed position <NUM> is related to the location of the GNSS antenna <NUM> and not an actual point of interest of the terrestrial vehicle <NUM>. For example only, an operator may intend to guide a point of interest <NUM> (such as a planter that plants seeds) of the vehicle <NUM> along a desired path <NUM> (such as a row in an agricultural field). In the event that the GNSS antenna <NUM> is located at a first location (e.g., on the tractor 10A) and the point of interest <NUM> is located at a second location (e.g., on the towed implement 10B) different from the first location, there may be an error between the desired path <NUM> and the actual path of the vehicle <NUM>. In the event that the navigation system <NUM> utilizes the sensed position <NUM> to guide the terrestrial vehicle <NUM>, it is probable that the position of the point of interest <NUM> would not travel along the desired path <NUM>, e.g., the heading direction <NUM> of the point of interest <NUM> will deviate from the desired path <NUM>. For example only, and with reference to <FIG>, in order for the point of interest <NUM> to travel along the desired path <NUM>, it may be the case that the terrestrial vehicle <NUM> (e.g., the GNSS antenna <NUM>) will need to travel along a different path <NUM> and the heading direction <NUM> of the point of interest <NUM> will differ from the heading direction <NUM> of the terrestrial vehicle <NUM> (e.g., the GNSS antenna <NUM>).

In order to provide an improved navigation system and method, the present disclosure describes the fusion of the functionality of a GNSS sensor <NUM> and a gyro sensor <NUM> into an integrated navigation system <NUM> that can be utilized to determine a position and/or heading of a point of interest <NUM> on a terrestrial vehicle <NUM>. With reference to <FIG>, an example of the navigation system <NUM> can include at least one GNSS antenna <NUM>, one or more gyro sensors <NUM>, one or more processors <NUM>, and a memory <NUM>. The navigation system <NUM> can be utilized with a terrestrial vehicle <NUM>, such as the examples described above.

The GNSS antenna <NUM> can comprise a single GNSS receiver that is configured to receive signals <NUM> from a plurality of satellites <NUM>. Based on the signals <NUM>, the GNSS antenna <NUM> can output a position signal that is indicative of the spatial position of the GNSS antenna <NUM>. Alternatively, the GNSS antenna <NUM> can comprise a plurality of GNSS receivers in a multi-antenna GNSS antenna system. In such a multi-antenna GNSS antenna system, not only can the GNSS antenna <NUM> determine a spatial position and output a position signal, it also may be possible to determine a heading direction and/or orientation (pitch, roll, etc.). It should be appreciated that the present disclosure can be equally applicable, mutatis mutandis, to either a single- or multi-antenna GNSS system.

The gyro sensor(s) <NUM> can be mounted on or otherwise arranged to sense various aspects of the terrestrial vehicle <NUM>. In general, the gyro sensor(s) <NUM> can output a gyro signal that is indicative of a pitch, a roll, and/or a gyro-based heading direction (yaw) of the terrestrial vehicle <NUM>. In one implementation, the gyro sensor(s) <NUM> can output a gyro signal that is indicative of: (i) at least one of a pitch and a roll of the terrestrial vehicle <NUM>, and (ii) a gyro-based heading direction.

In some aspects, the gyro sensor <NUM> can include a pitch gyro, a roll gyro, a yaw gyro and a plurality of accelerometers. The pitch gyro can determine and output a signal that is indicative of the pitch of the terrestrial vehicle <NUM>. Similarly, the roll gyro can determine and output a signal that is indicative of the roll of the terrestrial vehicle <NUM>, and the yaw gyro can determine and output a signal that is indicative of the yaw of the terrestrial vehicle <NUM>.

For each of the pitch, roll, and yaw gyros, one or more accelerometers may be utilized to calibrate the raw signal output by the gyro. For example only, the pitch and roll gyros may be calibrated with one or more accelerometer signals to determine an absolute value for each of the pitch and roll of the terrestrial vehicle <NUM>. In some implementations, however, the yaw gyro will output a signal indicative of a change in the yaw of the vehicle <NUM>. In such implementations, the output of the yaw gyro cannot be calibrated with an accelerometer to determine an absolute value of the yaw of the terrestrial vehicle <NUM>, but instead can be calibrated to determine a more accurate change in yaw of the vehicle <NUM>, which can be combined with a previous determined heading direction, as further described below.

The processor <NUM> can be any form of circuitry that is programmed to perform operations. For example only, the processor <NUM> can be configured to execute instructions that cause the processor <NUM> to perform various operations of the navigation methods described herein. The term "processor" as used herein can refer to both a single processor and a plurality of processors operating in a parallel or distributed architecture. The processor <NUM> can also be configured to control operation of the navigation system <NUM>, including executing/loading an operating system and accessing or operating the memory <NUM>. The processor <NUM> can also be configured to perform at least a portion of the operations of the present disclosure, which are discussed in greater detail below.

The memory <NUM> can be any suitable storage medium (flash, hard disk, etc.) that is configured to store information. In some implementations, the memory <NUM> can take the form of a non-transitory computer-readable storage medium having a plurality of instructions stored thereon. These instructions, when executed by the processor <NUM>, can cause the processor to perform one or more operations of the navigation techniques described herein.

In some aspects, the navigation system <NUM> can be coupled to or otherwise be in communication with additional components of the terrestrial vehicle <NUM>. For example only, and as shown in <FIG>, the navigation system <NUM> can be in communication with an automatic steering system <NUM> that can be utilized to guide the terrestrial vehicle <NUM>. In the illustrated example, the automatic steering system <NUM> includes a wheel angle sensor <NUM> associated with one or more steering wheels of the vehicle <NUM>. Alternatively or additionally, the navigation system <NUM> can be in communication with a display <NUM> in the terrestrial vehicle <NUM>. The display <NUM> can, for example, output a user interface to a driver of the terrestrial vehicle <NUM>. The user interface (not shown) can assist the driver to guide the terrestrial vehicle <NUM> along the desired path, e.g., by outputting a series of commands (veer right, veer left, turn, etc.) to the user.

As mentioned above, there may be a difference or error between the spatial position as sensed by the GNSS antenna <NUM> and the actual position of a point of interest <NUM> on the terrestrial vehicle <NUM>. In some aspects, the navigation system <NUM> can compensate or correct for this difference and determine the actual position of the point of interest <NUM>. For example only, the memory <NUM> can store a positional relationship between the location (a "first location") of the GNSS antenna <NUM> and the location (a "second location") of the point of interest <NUM>. The positional relationship can comprise information relating to the offset (e.g., the direction and distance) between the location of GNSS antenna <NUM> and the point of interest <NUM>.

In some implementations, the positional relationship between the location of GNSS antenna <NUM> and the point of interest <NUM> may not be constant, but instead may vary while the terrestrial vehicle <NUM> moves. For example only, if the point of interest <NUM> is located on an implement that is being towed (such as towable implement 10b), the positional relationship between the GNSS antenna <NUM> and the point of interest <NUM> may vary as the towed implement pivots or moves in relation to the GNSS antenna <NUM> (such as during turns). In order to address this variation in the positional relationship, the navigation system <NUM> can further include an additional sensor <NUM> associated with the point of interest <NUM>. The sensor <NUM> can generate an offset signal that is indicative of the positional relationship between the GNSS antenna <NUM> and the point of interest <NUM>. Example of the sensor <NUM> include, but are not limited to, an additional GNSS sensor located at the point of interest <NUM>, a tracking sensor (such as Lidar at the location of the GNSS antenna <NUM> and a reflector at the point of interest <NUM>) capable of determining the offset (distance and angle), a radar sensor, and a radio sensor.

Based on the positional relationship, as well as the position signal output from the GNSS antenna <NUM> and the gyro signal output by the gyro sensor <NUM>, the navigation system <NUM> can determine the actual spatial position of the point of interest <NUM> on the terrestrial vehicle <NUM>. The actual position of the point of interest <NUM> can be determined with respect to the surface <NUM> upon which the terrestrial vehicle <NUM> is positioned and corrected for the pitch and/or roll of the vehicle <NUM>. In this manner, the actual position of the point of interest <NUM> can be compared to the desired path <NUM> in order to assist in guiding the terrestrial vehicle <NUM>.

As mentioned above, the gyro sensor <NUM> can output a gyro signal that is indicative of a gyro-based heading direction. Typically, such a gyro-based heading direction is indicative of a change in the heading direction of the terrestrial vehicle <NUM>, as opposed to an absolute heading direction. Thus, in the absence of an initial, absolute heading direction, a gyro-based heading direction that indicates changes in the heading may be ineffectual to provide a usable heading direction for guiding the vehicle <NUM>.

Furthermore, in some implementations, the GNSS antenna <NUM> can provide a GNSS-based heading direction that indicates the heading direction as sensed by the GNSS antenna <NUM>. Such a GNSS-based heading direction, however, may have limited utility to the navigation system <NUM>, as the GNSS-based heading direction is related to the heading direction of the GNSS antenna <NUM> and not the point of interest <NUM>. Furthermore, the GNSS antenna <NUM> may be particularly susceptible to errors in the determination of the GNSS-based heading direction due to the pitch/roll of the vehicle <NUM>, especially at slow speeds and/or implementations where the GNSS antenna <NUM> is located at an uppermost point of the vehicle <NUM> (e.g., on the roof) that experiences the most sway/wobble.

In order to address the above issues, in some aspects, the navigation system <NUM> can also determine a position-based heading direction of the point of interest <NUM>. The position-based heading direction can be determined by the navigation system <NUM> based on the determined position and at least one previously determined position of the point of interest <NUM>. In some aspects, the navigation system <NUM> fits a line or curve to the plurality of spatial points corresponding to the current position and one or more previous positions of the point of interest <NUM> (e.g., by a curve fitting algorithm). The curve can then be extended to predict the position-based heading direction of the terrestrial vehicle <NUM>.

In order to obtain a more accurate heading direction for the terrestrial vehicle <NUM>, the navigation system <NUM> can further determine a calibrated heading direction based on the combination of the gyro-based heading direction and the position-based heading direction. For example only, the determined position-based heading direction (which provides an absolute heading direction) can be calibrated by the gyro-based heading direction (which provides an indication of a change in heading direction) to provide a potentially more accurate heading direction for the terrestrial vehicle <NUM>. This potentially more accurate heading direction shall be referred to herein as the calibrated heading direction and can be utilized by the navigation system <NUM>, as more fully discussed below.

The navigation system <NUM> can further determine and output a control signal based on the position of the point of interest, the calibrated heading direction, and the desired path <NUM>. The control signal can be configured to be used to assist with guiding the terrestrial vehicle <NUM> along the desired path <NUM> such that the actual position of the point of interest <NUM> is on the desired path <NUM>. In this manner, the navigation system <NUM> can provide accurate guidance for the terrestrial vehicle <NUM> and, potentially of particular importance, the point of interest <NUM>.

In some implementations, the navigation system <NUM> can output the control signal to the automatic steering system <NUM> that guides the terrestrial vehicle <NUM> along the desired path <NUM>. In some such implementations, the navigation system <NUM> can also receive a wheel angle signal from a wheel angle sensor <NUM> associated with one or more steering wheels of the terrestrial vehicle <NUM>. The wheel angle signal can be indicative of an angle of the one or more steering wheels, as sensed by the wheel angle sensor <NUM>. The navigation system <NUM> can further, in various aspects, determine the control signal based not only on the position of the point of interest <NUM>, the calibrated heading direction, and the desired path <NUM>, but also the wheel angle signal.

Additionally, the navigation system <NUM> may also determine a calibrated angle of the one or more steering wheels based on the received wheel angle signal and the calibrated heading direction. As the terrestrial vehicle <NUM> travels along the desired path <NUM>, the navigation system <NUM> may determine that the vehicle is deviating from the path in a manner that is not expected based on the wheel angle signal. In this manner, the navigation system <NUM> can determine an error or offset of the angle of the steering wheel(s) and compensate (or calibrate) the wheel angle signal. In such implementations, the control signal can be based on the position of the point of interest <NUM>, the calibrated heading direction, the desired path <NUM>, and the calibrated angle (as opposed to the raw wheel angle signal).

In other or additional embodiments, the control signal can be output to a display <NUM> in the terrestrial vehicle <NUM> to assist a driver (not shown) to guide the terrestrial vehicle <NUM> along the desired path <NUM>. As mentioned above, the display <NUM> can, for example, output a user interface to the driver of the terrestrial vehicle <NUM>. The user interface (not shown) can assist the driver to guide the terrestrial vehicle <NUM> along the desired path, e.g., by outputting a series of commands (veer right, veer left, turn, etc.) to the user. It should be appreciated that the user interface can take any form that assists the driver in guiding the terrestrial vehicle <NUM>.

As mentioned above, in some implementations the navigation system <NUM> can include a multi-antenna GNSS antenna system <NUM> that can determine a GNSS-based heading direction. In such implementations, the navigation system <NUM> can utilize the GNSS-based heading direction to calibrate the gyro-based heading direction received from the gyro sensor <NUM>. For example only, when the terrestrial vehicle <NUM> is first initialized and has not yet begun moving, it may not be possible to determine a position-based heading direction as there is no previously determined position of the point of interest <NUM>. If, however, the vehicle <NUM> includes a multi-antenna GNSS antenna system <NUM>, an initial GNSS-based heading direction can be determined. The initial GNSS-based heading direction can be utilized to calibrate the gyro-based heading direction, which, as mentioned above, may only be indicative of changes in the heading direction (yaw) of the vehicle <NUM>.

In further implementations, it may be desirable to further integrate the calibrated heading direction (as determined by the navigation system <NUM>) to calibrate, correct or otherwise improve upon the performance of the gyro sensor <NUM>. For example only, and as mentioned above, the navigation system <NUM> can determine a position-based heading direction of the point of interest <NUM> of the vehicle <NUM> based on the current and previous positions of the point of interest <NUM>. Further, the gyro-based heading direction can also be combined or otherwise utilized to calibrate the position-based heading direction to determine a calibrated heading direction of the point of interest <NUM>. In these implementations, the calibrated heading direction can then be utilized to calibrate the gyro-based heading direction to obtain a calibrated gyro-based heading direction. In this manner, the navigation system <NUM> can recursively optimize its determinations of the position and/or heading direction of the point of interest <NUM>.

As an example, the determination of the position of the point of interest <NUM> of the vehicle <NUM> can be based on the position signal (from the GNSS antenna <NUM>), the positional relationship between the positions of the GNSS antenna <NUM> and the point of interest <NUM>, and the calibrated gyro-based heading direction (as opposed to the raw gyro-based heading direction determined from the gyro signal). It should be appreciated that, in implementations where the positional relationship can vary (such as those in which the point of interest <NUM> is located on a towed implement), the determination of the position of the point of interest <NUM> can further be based on an offset signal received from a sensor <NUM> associated with the point of interest <NUM>, as described above. This feedback process can provide a more accurate determination of the position and heading direction of the point of interest <NUM>.

It is possible that the terrestrial vehicle <NUM> may start and stop moving as the vehicle travels along the desired path <NUM>. When the vehicle <NUM> stops moving, it should be appreciated that the actual heading direction of the vehicle <NUM> will not change as the terrestrial vehicle <NUM> may be incapable of rotating on the surface <NUM> without moving. Due to various factors (sensor drift, vibration due to engine idle, etc.), however, the position signal and/or the GNSS-based heading direction from the GNSS antenna <NUM> and/or the gyro signal from the gyro sensor <NUM> may indicate erroneous heading directions of the terrestrial vehicle <NUM>.

In order to address these errors, the navigation system <NUM> may "lock" or otherwise keep the previously determined heading direction as the current heading direction notwithstanding any signals from the GNSS antenna <NUM> and/or gyro sensor <NUM>. For example only, when the terrestrial vehicle <NUM> stops at a stop time, the navigation system <NUM> can store the gyro-based heading direction at the stop time as a stored gyro-based heading direction. Then, when the terrestrial vehicle <NUM> begins moving again at a start time after the stop time, the navigation system <NUM> can initialize the gyro-based heading direction as the stored gyro-based heading direction. In this manner, the navigation system <NUM> can compensate for the drift in the gyro sensor <NUM>. In another example, the navigation system <NUM> can also or alternatively ignore changes in the position signal and/or GNSS-based heading direction from the GNSS antenna <NUM> while the vehicle <NUM> is not moving (e.g., when vehicle speed is zero). In this manner, the position-based heading direction will remain constant while the vehicle <NUM> is stopped. This may also provide the further advantage of eliminating the need for an expensive (computationally or otherwise) filter to remove noise (such as vibration) from the position signal and GNSS-based heading direction signal.

The navigation system <NUM> can also, according to some aspects, determine a distance travelled and/or ground speed of the terrestrial vehicle <NUM> based on the determined positions described above. For example only, the navigation system <NUM> can store a plurality of determined positions of the point of interest <NUM>, e.g., in the memory <NUM>. Each of the determined positions may have associated therewith a time stamp or other information that is indicative of an elapsed time between the various positions. The navigation system <NUM> can determine a distance traveled by calculating the distance between the determined positions. In order to calculate the ground speed, e.g., the navigation system <NUM> can divide the distance traveled by the elapsed time. It should be appreciated that the navigation system <NUM> can utilize any time period to calculate an accurate ground speed of the vehicle <NUM>, e.g., the navigation system <NUM> could determine a "current" ground speed of the vehicle <NUM> by utilizing two or more recently determined positions, and/or an "average" ground speed over a given time period.

A flow chart detailing an example method <NUM> for guiding a terrestrial vehicle <NUM> along a desired path <NUM> is illustrated in <FIG>. The method <NUM> will be described in the context of the terrestrial vehicle <NUM> and the navigation system <NUM> described above. At <NUM>, the navigation system <NUM> can receive a position signal from a global navigation satellite system (GNSS) antenna <NUM> mounted at a first location on the terrestrial vehicle <NUM>. As mentioned above, the position signal can be indicative of a spatial position of the GNSS antenna <NUM> as indicated by the GNSS (e.g., via satellite(s) <NUM>). Further, the navigation system <NUM> can receive a gyro signal from a gyro sensor <NUM> that is indicative of: (i) at least one of a pitch and a roll of the terrestrial vehicle <NUM>, and (ii) a gyro-based heading direction at <NUM>.

The navigation system <NUM> can also store (e.g., in memory <NUM>) a positional relationship between the location of the GNSS antenna <NUM> and a point of interest <NUM> on the terrestrial vehicle <NUM>. At <NUM>, the navigation system <NUM> can determine a position of the point of interest <NUM> of the terrestrial vehicle <NUM> at a second location different than the first location based on the position signal, the gyro signal, and the positional relationship between the first location and the second location. The position of the point of interest <NUM> of the terrestrial vehicle <NUM> can be determined with respect to a surface <NUM> upon which the terrestrial vehicle <NUM> is positioned and corrected for at least one of the pitch and the roll of the terrestrial vehicle <NUM>.

Furthermore, the navigation system <NUM> can determine a position-based heading direction of the point of interest <NUM> of the terrestrial vehicle <NUM> based on the determined position and at least one previously determined position of the point of interest <NUM> (at <NUM>). Based on a combination of the gyro-based heading direction and the position-based heading direction, at <NUM> the navigation system <NUM> can determine a calibrated heading direction. At <NUM>, the navigation system <NUM> can output a control signal based on the position of the point of interest <NUM>, the calibrated heading direction, and the desired path <NUM>. The control signal can be configured to be used to assist with guiding the terrestrial vehicle <NUM> such that the position of the point of interest <NUM> is on the desired path <NUM>. As described above, the control signal can be output, e.g., to an automatic steering system <NUM> or a display <NUM> in the terrestrial vehicle <NUM>. The method <NUM> can end or return to <NUM>.

In some example embodiments, well-known procedures, well-known device structures, and well-known technologies are not described in detail.

The techniques described herein may be implemented by one or more computer programs executed by one or more processors. The computer programs include processor-executable instructions that are stored on a non-transitory tangible computer readable medium. The computer programs may also include stored data. Non-limiting examples of the non-transitory tangible computer readable medium are nonvolatile memory, magnetic storage, and optical storage.

Certain aspects of the described techniques include process steps and instructions described herein in the form of an algorithm. It should be noted that the described process steps and instructions could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by real time network operating systems.

The present disclosure also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored on a computer readable medium that can be accessed by the computer. Such a computer program may be stored in a tangible computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.

The algorithms and operations presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatuses to perform the required method steps. The required structure for a variety of these systems will be apparent to those of skill in the art, along with equivalent variations. In addition, the present disclosure is not described with reference to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present disclosure as described herein, and any references to specific languages are provided for disclosure of enablement and best mode of the present invention.

The present disclosure is well suited to a wide variety of computer network systems over numerous topologies. Within this field, the configuration and management of large networks comprise storage devices and computers that are communicatively coupled to dissimilar computers and storage devices over a network, such as the Internet.

Claim 1:
A method (<NUM>) for guiding a terrestrial vehicle (<NUM>) along a desired path, comprising:
receiving (<NUM>) a position signal from a global navigation satellite system (GNSS) antenna (<NUM>) mounted at a first location on the terrestrial vehicle (<NUM>), the position signal being indicative of a spatial position of the GNSS antenna (<NUM>) as indicated by the GNSS;
receiving (<NUM>) a gyro signal from a gyro sensor (<NUM>), the gyro signal being indicative of: (i) at least one of a pitch and a roll of the terrestrial vehicle (<NUM>), and (ii) a gyro-based heading direction;
determining (<NUM>) a position of a point of interest (<NUM>) of the terrestrial vehicle (<NUM>) at a second location capable of traveling along a different heading direction from the first location, based on the position signal, the gyro signal, and a positional relationship between the first location and the second location, wherein the position of the point of interest (<NUM>) of the terrestrial vehicle (<NUM>) is determined with respect to a surface upon which the terrestrial vehicle (<NUM>) is positioned and corrected for at least one of the pitch and the roll of the terrestrial vehicle (<NUM>);
determining (<NUM>) a position-based heading direction of the point of interest (<NUM>) of the terrestrial vehicle (<NUM>) based on the determined position of the point of interest (<NUM>) and at least one previously determined position of the point of interest (<NUM>);
determining (<NUM>) a calibrated heading direction based on a combination of the gyro-based heading direction and the position-based heading direction; and
outputting (<NUM>) a control signal based on the position of the point of interest (<NUM>), the calibrated heading direction, and the desired path, the control signal configured to be used to assist with guiding the terrestrial vehicle (<NUM>) such that the position of the point of interest is on the desired path.