# Patent

## Title
Satellite based vehicle guidance control in straight and contour modes

## Abstract

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. For each desired swath comprising a plurality of desired positions and desired headings, the method also comprises: computing an actual track and a cross track error from the desired swath based on the compensated heading and the position; calculating a desired radius of curvature to arrive at the desired track with a desired heading; and generating a steering command based on the desired radius of curvature to a steering mechanism, the steering mechanism configured to direct the vehicle.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefits of U.S. Provisional Application No. 60/456,130, filed Mar. 20, 2003 the contents of which are incorporated by reference herein in their entirety, and is a continuation-in-part of U.S. patent application Ser. No. 10/396,788 filed on Mar. 25, 2003, now U.S. Pat. No. 6,711,501, issued Mar. 23, 2004, which is a continuation-in-part of U.S. patent application Ser. No. 09/733,641 filed on Dec. 8, 2000, now U.S. Pat No. 6,539,303, issued Mar. 25, 2003.


BACKGROUND
The invention relates to the use of satellite systems to control the guidance of vehicles and the positioning of towed implements. More particularly, steering control of agricultural, mining, and construction vehicles. For example, there is a need to accurately position agricultural vehicles and their implements (generally towed) used for plowing, listing, planting of crops, mechanically cultivating around crops and applying chemicals on and around crops. These techniques strive to minimize overlapping of rows and gaps between rows and reduce damage to crops by physical contact, and thereby result in higher crop yield, faster field operations and decreased costs to the farmer.
One approach for providing steering cues with Global Positioning System (GPS) and Differential Global Positioning Systems (DGPS) is with a light bar. The light bar typically supplies numerical and graphical information to an operator directing the desired steering. Information displayed in bright light emitting diode (LED) and liquid crystal display (LCD) indicators are used both inside the cab or mounted outside on the hood of a vehicle to reduce eyestrain and remain within peripheral vision. Various numerical and graphical displays of cross track error (a positional error from a desired line), angle of approach (angle between current heading and desired line heading) and steering guides (angle to turn the steering wheel to move to and stay on the desired track), have been used.
Straight, or parallel, guidance uses two points, typically defined as A and B points and gives effective guidance along the line joining those points and lines offset from those lines, this offset is normally defined as the swath width of the implement. Contour guidance in several forms has been developed. Some generating a new line using data offset from the last driven line, some using a more sophisticated approach of generating guidance continuously in real time to the closest point of all previously driven areas.
Dual frequency real-time kinematic (RTK) receivers have been used, with dual and triple antenna configurations coupled with combinations of Inertial Navigation System (INS) sensors, and gyros using sophisticated Kalman filtering techniques. Other systems utilize a three-axis inertial navigation system (INS) with a radar input for speed. These have been used for automatic steering of a main vehicle e.g., tractor and are often used on large farms where high value crops are grown and operators are not well trained in driving. Unfortunately, most inertial and gyro based systems are expensive and large.
Existing auto steer guidance methods solve the positioning of the vehicle in straight-line guidance mode, but do not necessarily address the positioning of the implement. In practice, large implements may be moved sideways by hitting rocks or differing soil conditions on each side as they are dragged, and the like. It will be appreciated that implements towed farther behind the vehicle are more susceptible to such deviation than those closely coupled to the vehicle.
Correction for positioning of the towed implement with DGPS has also been developed with the use of a movable hitch pin. This is used in both straight and contour line following. It is also used in a follow-me mode, where the magnitude of the radius of curvature, derived from the DGPS headings and speed is used to proportionally move out the implement control mechanism. Thus enabling the implement to follow in the tracks of the tractor and minimize crop damage. Correction for positioning of the towed implement with DGPS has also been developed with the use of a 3-point hitch and a steer able implement. In this instance, a second GPS antenna is attached to the implement with the cross track position used as the feedback error.
As farming becomes increasingly mechanized and farm implements faster and larger so too does the difficulty of accurate positioning. The need is for a low cost solution to be used on many farm vehicles as a driver aid to enable the driver to concentrate on other tasks associated with field and implement operations to relieve the operator from the continuous monitoring and adjustment of steering.
BRIEF SUMMARY
Disclosed herein in an exemplary embodiment is 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 corresponding to a yaw rate of the vehicle; and computing a compensated heading for the vehicle based on an integration of the yaw rate signal, the compensated heading comprising a blend of the yaw rate signal with heading information based on the GPS data, wherein the compensated heading is further dynamically calibrated based on the GPS data. For each desired swath comprising a plurality of desired positions and desired headings, the method also comprises: computing an actual track and a cross track error from the desired swath based on the compensated heading and the position, wherein the position is compared with a selected desired position of the plurality of desired positions and the compensated heading is compared with a selected desired heading of the plurality of desired headings; calculating a desired radius of curvature to arrive at the desired track with a desired heading; and generating a steering command based on the desired radius of curvature to a steering mechanism, the steering mechanism configured to direct the vehicle.
Further disclosed herein in another exemplary embodiment is a system for steering an agricultural vehicle comprising: a means for 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; a means for receiving a yaw rate signal corresponding to a yaw rate of the vehicle; and a means for computing a compensated heading for the vehicle based on an integration of the yaw rate signal, the compensated heading comprising a blend of the yaw rate signal with heading information based on the GPS data, wherein the compensated heading is further dynamically calibrated based on the GPS data. For each desired swath comprising a plurality of desired positions and desired headings, the system further includes: a means for computing an actual track and a cross track error from the desired swath based on the compensated heading and the position, wherein the position is compared with a selected desired position of the plurality of desired positions and the compensated heading is compared with a selected desired heading of the plurality of desired headings; a means for calculating a desired radius of curvature to arrive at the desired track with a desired heading; and a means for generating a steering command based on the desired radius of curvature to a steering mechanism, the steering mechanism configured to direct the vehicle.
Disclosed herein in yet another exemplary embodiment is a storage medium encoded with a machine-readable computer program code, wherein the storage medium includes instructions for causing a computer to implement the abovementioned method for steering an agricultural vehicle.
Also disclosed herein in yet another exemplary embodiment is a computer data signal embodied in a computer readable medium wherein the computer data signal comprises code configured to cause a computer to implement the abovementioned method for steering an agricultural vehicle.



BRIEF DESCRIPTION OF THE DRAWINGS
Referring now to the drawings wherein like elements are numbered alike in the several FIGURES:
FIG. 1 depicts an illustrative diagram of a vehicle including an exemplary embodiment;
FIG. 2 depicts an illustrative block diagram of vehicle including an exemplary embodiment of a sensor system;
FIG. 3 depicts an illustrative methodology for acquiring the desired line for a straight-line approach;
FIG. 4 depicts an illustrative methodology for acquiring the desired line for a straight-line approach;
FIG. 5 depicts an illustrative methodology for acquiring the desired line for a contour;
FIG. 6 depicts an illustrative methodology for acquiring the desired line for a contour when current vehicle heading is directed away from the desired line;
FIG. 7 depicts an illustrative methodology for acquiring the desired line for a contour when current vehicle heading is directed toward the desired line; and
FIG. 8 depicts an illustrative flowchart depicting a methodology for acquiring the desired in accordance with an exemplary embodiment of the invention.



DETAILED DESCRIPTION OF AN EXEMPLARY EMBODIMENT
Referring to FIG. 1, an exemplary embodiment of a guidance system 10 for a vehicle 5 includes, but is not limited to, two primary components: a DGPS guidance unit 20 and a steering control unit (SCU) 30. In the DGPS guidance unit 20, a DGPS receiver 22 is connected to a controller e.g., processor 24, which generates a graphical and numerical display 26 for an operator and processes the control signal guidance algorithms. This controller 24 communicates with a controller 32 in the steering control unit 30 to direct the vehicle 5. It will be appreciated that the guidance unit 20 may include additional elements such as the antennae 27 and 28 for GPS and GPS differential corrections and other interfaces.
The steering control unit 30 includes a controller 32 that interfaces with a heading rate gyro 40 and cross aligned accelerometer and roll rate gyro 50 and generates steering control signals for hydraulically or electrically controlled steering mechanisms of the vehicle. The steering control unit 30 is optimized for maximum flexibility during agricultural use, making installations fast and readily transferable to other vehicles 5. The steering control unit 30 of an exemplary embodiment includes heading rate gyro 40 which should be mounted with axis vertical as low as is feasible on the vehicle 5.
For example, the guidance unit 20 can include an interface comprising a button for single button adjustments, which allow fine-tuning of new B points at small increments offset from current vehicle 5 positions in connection with generating closely spaced A and B points for a parallel guidance mode.
Continuing with FIG. 1, in an exemplary embodiment, the controller/processor 32 of the steering control unit 30 is operably connected with a proportional or on/off hydraulic or electrically operated valve system 60. In an exemplary embodiment, the hydraulic valve system 60 is operably connected, substantially in parallel, with the existing vehicle steering hydraulics to provide fluid flow to turn the steering mechanism of the vehicle 5. The hydraulic valve system 60 is set to operate preferably, at a low flow rate to ensure that an operator can override it with modest effort. A gain adjustment allows operator fine-tuning of the responsiveness of the system while preferably maintaining a generic installation kit of valves, hoses and fittings that is applicable over a wide range of vehicles 5.
Either proportional control valves (PCV) or directional control valves (DCV) may be utilized in the guidance system 10 to turn the steering system until the vertical axis rate gyro rate matches that of the desired curvature from the guidance unit 20. In an exemplary embodiment, a dead zone and system gain factor may be employed and arranged to be user configurable to ensure the guidance system 10 and control loops provide desirable response characteristics. For example, the control commands from the steering control unit 30 and hydraulic valve system 60 may be configured to ensure that they do not exhibit jitter or utilize unacceptable oscillations. Such a configuration may be setup during initial installation and testing of the hydraulics control and hydraulic valve system 60. In an exemplary embodiment, the DCV may be operated in a pseudo-proportional mode to improve performance.
Referring now to FIGS. 2A and 2B as well, in operation of an exemplary embodiment, the guidance system 20 generates commands to direct the vehicle 5 towards the aim point AP and desired line 110 which will be described in detail at a later point herein. As the vehicle 5 proceeds towards the desired line 110 the aim point AP advances and the required curvature reduces. Therefore, the hydraulic valve system 60 output, in the case of a PCV, is reduced to match. It will be appreciated that the gyro rate is reduced and eventually zeroed with minimal overshoot. The system with a forward aim point AP exhibits stability by always tracking to the desired path and requiring minimal operator intervention.
In order to perform the prescribed functions and desired processing, as well as the computations therefore (e.g., the vehicle guidance, and the like), the guidance system 10, and more particularly, the guidance unit 20 and/or steering control unit 30 and controller/processor 32, may include, but is not limited to a computer system including central processing unit (CPU), display, storage and the like. The computer system may include, but not be limited to, a processor(s), computer(s), controller(s), memory, storage, register(s), timing, interrupt(s), communication interface(s), and input/output signal interfaces, and the like, as well as combinations comprising at least one of the foregoing. For example, computer system may include signal input/output for controlling and receiving signals from the guidance unit 20 as described herein. Additional features of a computer system and certain processes executed therein may be disclosed at various points herein.
The processing performed throughout the guidance system 10 may be distributed in a variety of manners as will also be described at a later point herein. For example, distributing the processing performed in one ore more modules and among other processors employed. In addition, processes and data may be transmitted via a communications interface, media and the like to other processors for remote processing, additional processing, storage, and database generation. Such distribution may eliminate the need for any such component or process as described or vice versa, combining distributed processes in a various computer systems. Each of the elements described herein may have additional functionality that will be described in more detail herein as well as include functionality and processing ancillary to the disclosed embodiments. Naturally, these units and processes can be combined in the same or separate enclosures.
As used herein, signal connections may physically take any form capable of transferring a signal, including, but not limited to, electrical, optical, or radio. Communication between the various units can be by hard wired, or wireless, serial communication, or other protocol standard for agricultural vehicles, but any extension to radio communication is also possible.
In an exemplary embodiment,-additional considerations are made to ensure the vehicle is operating as commanded and not deviating from the desired path. Communication between the guidance unit 20 and steering control units 30 may include but not be limited to, a status message. Limited user selectable adjustment is enabled. When these limits are triggered messages are sent to disable automatic steering. These limits may include, but not be limited to the following as well as combinations including at least one thereof:

    
    
        minimum and maximum speed;
        maximum cross track;
        maximum current heading to desired heading;
        maximum turn rate, speed dependent;
        maximum difference between current turn rate and desired turn rate;
    
    


In an exemplary embodiment, these limits would be software enabled and disable automatic steering guidance as provided by the guidance system 10. This includes whenever the operator takes over control on turns. The valves of the hydraulic control system 60 are then closed to new fluid flow and the ability to automatically manipulate the vehicle steering system is disabled. Full manual control is restored immediately.
A manual switch operably connected to the guidance system 10 also allows software disabling steering control. Moreover, a manual switch is also provided that allows an operator to physically disconnect the electrical control to the valves. The power switch for the steering control unit will also turn off steering control. In an exemplary embodiment, operator intervention is required to reinstate auto steering guidance, however automated response is also conceivable.
In yet another exemplary embodiment, a calculated desired rate of turn for the vehicle 5 is compared with a rate of turn, ROT, in degrees per second, as may be measured with an inexpensive, mounted on board, rate gyro 40. The following equation identifies the desired rate of turn ROT:

ROT=speed*180/(pi* R)=rate of turn in degrees per second

where:

    
    
        R=Circle of radius R in meters;
        Speed=speed in meters/second m/s;
        2 pi R/speed=the time to travel a complete 360 degree circle.
    
    


In an exemplary embodiment, a Kalman filter control loop is implemented and configured to substantially match measured vehicle rate from the rate gyro 40 with the desired steering curvature. It will be appreciated that in general, a rate gyro 40 is very sensitive and exhibits minimal latency. In addition, the control loop facilitates generation of a stabilized, filtered heading angle computation based on GPS data and integration of the rate information from the rate gyro 40. Therefore, a blend the yaw rate signal with the heading information is accomplished that takes advantages of the superior characteristics of both sensors while eliminating some of the inferior characteristics. In particular, the yaw rate signal exhibits high short term/dynamic accuracy relative to the GPS based heading information, while the GPS based heading information exhibits high long term (low dynamics) accuracy relative to the yaw rate signal.
In an exemplary embodiment, a gyro calibration method brings the rate gyro 40 to stability within a few minutes of power application. Calibration includes two portions, one for a rate bias drift and one for scale factor. The rate bias is calculated when the vehicle 5, and thereby, the guidance system 10 is turning at less than a selected residual limit in either direction. Additionally, the bias may be dynamically adjusted with filtering. For example, in an exemplary embodiment, a low pass filter is employed. The scale factor is determined when the vehicle 5, and thereby, the guidance system 10 is turning at a rate in excess of a selected threshold. The derivative of the DGPS computed heading may be compared with the rate from the rate gyro 40 to provide a correction of the scale factor. In an exemplary embodiment, the comparison is a ratiometric. Moreover, once again, the correction may be filtered to provide a dynamic correction. It will be appreciated that application of scale factor corrections may be limited to small magnitude adjustments. It is advantageous to find that in the normal turning radius of contour driving or straight mode, the abovementioned techniques provide excellent results for calibration of the desired rate of turn.
After a few minutes of being powered on the operation the rate gyro 40 has stabilized sufficiently for drift and gain calibration to be fully usable. The steering control unit 30 then provides gyro corrected heading to the guidance unit 20 for incorporation. It will be appreciated that this approach improves accuracy and reduces the noise of the DGPS derived heading significantly and improves the accuracy and stability of the curvature calculations. Moreover, this approach further reduces the susceptibility of the system to noise, especially roll induced noise from the DGPS antenna 26, typically mounted on the roof of the tractor and susceptible to bouncing and rock and roll in rough fields.
Controller Implementation
In an exemplary embodiment, the desired curvature is sent from the DGPS guidance unit 20 to the SCU, 30, at 10 Hz over a CAN, Controller Area Network bus using a proposed ISO standard protocol. The following formulae are employed:

Desired Radius (m)=1 /Desired Curvature (km−1)*1000.

Desired Rate (deg/s)=360*Speed (m/s)/2*PI*Desired Radius (m).

Error (deg/s)=Desired Rate (deg/s)−Actual Rate (deg/s).

Output=Proportional Gain*Error+Integral Gain*Integral (Error)+Derivative Gain*Derivative (Error).

The error is signal generated as the difference from the desired turn rate and the actual gyro derived turn rate. When the error is within the dead band, only the integral term is used for the output, optimizing system stability.

The controller has two fundamental modes of operation depending on the type of control valve used. A true proportional control mode and a pseudo-proportional control mode.
True proportional control is used when a proportional control valve (PCV) is available. The absolute value of the output corresponds to a duty cycle of a pulse width modulated (PWM), (1 KHz) output. The output may be scaled between minimum (0-100) and maximum (min-100) as an Output value.
Pseudo-Proportional Control Mode provides time-based proportional control for systems with a directional control valve, DCV. The time-based proportional control algorithm uses the Output value from the proportional, integral and derivative (PID), algorithm above. In an exemplary embodiment, a loop running at 100 Hz is used to control the output in this mode. Therefore, the resolution of On-Time and Off-Time is 10 milliseconds.
In an exemplary embodiment, the following logic is used to generate the pseudo proportional control:












On-Time (milliseconds) = (abs (Output) / 100) * Period


(milliseconds)


If On-Time > Maximum On-Time (Period) Then


 On-Time = Period


End If


Off-Time (milliseconds) = Period (milliseconds) − On-


Time (milliseconds)


If the On-Time is less than some Minimum On-Time, then the On-Time is


set to the Minimum On-Time and the off-time is extended proportionally.


If On-Time > 0 AND On-Time < Minimum On-Time The


 Off-Time = Minimum On-Time * Period / On-Time −


 Minimum On-Time


 On-Time = Minimum On-Time


End If


If the Off-Time is less than some Minimum Off-Time, then the Off-Time


is set to 0 and the On-Time is set to Period.


If Off-Time > 0 AND Off-Time < Minimum Off-Time Then


 Off-Time = 0


 On-Time = Period


End If









When the error is inside the dead band in this mode, the output is turned off.

Kalman Filter Implementation

In an exemplary embodiment a Kalman filter is used to provide the SCU, 30, with unbiased rate measurements. The angle estimate is also fed back to the command-side of the guidance system, 20, for use in future Desired Curvature calculations, at 10 Hz over the CAN bus using proprietary messages (e.g. ISO 11783). The command-side and the control-side of the automatic steering system are tightly coupled in this respect.
The Kalman filter is an optimal estimation algorithm which is used to fuse the partially redundant data (sensor fusion) between the GPS heading and the integrated rate gyro output to compute an estimate of the vehicle's yaw angle, the rate gyro bias, and the rate gyro's scale factor. It looks at the error characteristics of the gyro 40 and the error characteristics of the GPS and determines an estimate, which is a probabilistically optimal combination of both signals. The rate gyro 40 has excellent short-term error characteristics and has relatively low noise compared to the GPS which has excellent long-term error characteristics but has high noise cause in part by high frequency roll. Combining the two signals gives an optimal estimate. The gyro characteristics make the signal smooth. The GPS characteristics make the signal unbiased. The Kalman filter does not run when there is no GPS signal. In an exemplary embodiment, the Kalman filter does not update the estimates when the vehicle speed is below 1 mph. If the vehicle speed goes below 1 mph a flag is set. When the vehicle speed crosses 1 mph, the Kalman angle estimate is set to the current GPS measurement and the error covariance for the angle estimate is reset.

    
    
        {dot over (θ)}T—true angular rate (deg/s)
        {dot over (θ)}gyro—gyro measurement (deg/s)
        α—gyro scale factor
        β—gyro bias
        θT—true angle (deg)
        x—Kalman state column vector
        θ—angle estimate
        β—bias estimate
        α—scale factor estimate
        A—state transition matrix
        w—process noise
        Q—process noise variance matrix
        θmeas—angle measurement (GPS heading in degrees)
        ν—measurement noise
        H—measurement row vector
        R—measurement noise variance

Gyro Model:

{dot over (θ)}T=α·{dot over (θ)}gyro+β

    
    






  
    
      
        
          θ
          T
        
        =
        
        ⁢
        
          
            ∫
            0
            T
          
          ⁢
          
            
              θ
              T
            
            ·
            
              d
              t
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            α
            ·
            
              
                ∫
                0
                T
              
              ⁢
              
                
                  
                    θ
                    .
                  
                  gyro
                
                ·
                
                  d
                  t
                
              
            
          
          +
          
            β
            ·
            T
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            α
            ·
            
              
                ∫
                0
                T
              
              ⁢
              
                
                  
                    θ
                    .
                  
                  gyro
                
                ·
                
                  d
                  t
                
              
            
          
          +
          
            β
            ·
            T
          
        
      
    
  
  
    
      
        ≈
        
        ⁢
        
          
            α
            ·
            
              
                ∑
                0
                r
              
              ⁢
              
                
                  
                    
                      θ
                      .
                    
                    gyro
                  
                  ·
                  Δ
                
                ⁢
                
                  
                
                ⁢
                t
              
            
          
          +
          
            β
            ·
            T
          
        
      
    
  




Process Model:

xk=A·xk−1+w





  x
  =
  
    
      
        [
        
          
            
              θ
            
          
          
            
              β
            
          
          
            
              α
            
          
        
        ]
      
      ⁢
      
        
      
      ⁢
      A
    
    =
    
      
        
          [
          
            
              
                1
              
              
                T
              
              
                
                  
                    ∑
                    0
                    T
                  
                  ⁢
                  
                    
                      
                        
                          θ
                          .
                        
                        gyro
                      
                      ·
                      Δ
                    
                    ⁢
                    
                      
                    
                    ⁢
                    t
                  
                
              
            
            
              
                0
              
              
                1
              
              
                0
              
            
            
              
                0
              
              
                0
              
              
                1
              
            
          
          ]
        
        ⁢
        
          
        
        ⁢
        Q
      
      =
      
        
          
            [
            
              
                
                  
                    σ
                    
                      w
                      θ
                    
                    2
                  
                
                
                  0
                
                
                  0
                
              
              
                
                  0
                
                
                  
                    σ
                    
                      w
                      β
                    
                    2
                  
                
                
                  0
                
              
              
                
                  0
                
                
                  0
                
                
                  
                    σ
                    
                      w
                      α
                    
                    2
                  
                
              
            
            ]
          
          ⁢
          
            

          
          [
          
            
              
                
                  θ
                  k
                
              
            
            
              
                
                  β
                  k
                
              
            
            
              
                
                  α
                  k
                
              
            
          
          ]
        
        =
        
          
            
              [
              
                
                  
                    1
                  
                  
                    T
                  
                  
                    
                      
                        ∑
                        0
                        T
                      
                      ⁢
                      
                        
                          
                            
                              θ
                              .
                            
                            gyro
                          
                          ·
                          Δ
                        
                        ⁢
                        
                          
                        
                        ⁢
                        t
                      
                    
                  
                
                
                  
                    0
                  
                  
                    1
                  
                  
                    0
                  
                
                
                  
                    0
                  
                  
                    0
                  
                  
                    1
                  
                
              
              ]
            
            ·
            
              [
              
                
                  
                    
                      θ
                      
                        k
                        -
                        1
                      
                    
                  
                
                
                  
                    
                      β
                      
                        k
                        -
                        1
                      
                    
                  
                
                
                  
                    
                      α
                      
                        k
                        -
                        1
                      
                    
                  
                
              
              ]
            
          
          +
          w
        
      
    
  




Measurement Model:

θmeas=H·x+νH=[1 0 0]R=σν2

Velocity Compensation

It will be appreciated that the speed or velocity provided from the DGPS receiver 22 or the guidance unit 20 is typically provided in North and East components with low noise, based on the phase tracking of the GPS satellites. It will further be appreciated that applications exist to generate velocity signals based on distance across the ground. Such systems have typically utilized wheel sensors or radar systems. Unfortunately, these methods are subjected to errors through slippage, blockage, dirt and reflection from thick grasses. A problem with the speed from a GPS system is the noise from the rock and/or roll of the cab, particularly laterally when the GPS antenna is located on the top of the cab. Such motion increases the measured distances resulting in errors in outputs. In yet another exemplary embodiment a method is provided to rotate the north and east speed components of the GPS solution into along track and cross track components using the heading information for the vehicle. A heading signal, based in one exemplary embodiment, on the calibrated integrated rate gyro and course information from the GPS derived and computed as discussed above, is employed to facilitate the rotation. It will be appreciated that noise effects from the high mounted antenna 27 on the vehicle 5 moving through a rough field are transferred to the along track and cross-track components of the velocity. However, advantageously, noise in the along track component is normally significantly less than the along track velocity and so when integrated the noise effects are substantially eliminated. Advantageously, this means that integrating the along track component of velocity yields a more accurate distance traveled estimate, than would be achieved with existing methodologies.
The benefits of a more accurate distance traveled may readily be employed for improved accuracy. For example, in agriculture, the planting of individual seeds through air injection. This method would also allow the synchronization of subsequent passes across the field in the optimal positioning of fertilizer or in offsetting plant positions by row. Moreover, an improved along track speed may be employed by the guidance system 20 to facilitate forward prediction calculations.
Likewise, the cross-track speed may readily be integrated to provide a cross track error that still exhibits fast responsiveness to real changes but eliminates most of the high frequency noise induced components from the rolling of the vehicle. Such a cross track error may further be biased to match the supplied DGPS derived cross track. The resultant roll compensated cross track distance may thereafter be utilized in the guidance system 20 for improved guidance display and steering control when operating in rough terrain.
The methodology described above provides a method for steering an agricultural vehicle including the steps of adjusting a parallel guidance line from a fixed aim point behind the vehicle to a point including a small increment offset from a current position.
Turning now to the methodology for determining the guidance and steering commands to direct a vehicle 5. Disclosed herein in an exemplary embodiment is a method wherein a radius of curvature of a curved vehicle track, which would bring the vehicle 5 from its current position to the desired aim point, (hereinafter also denoted AP) is calculated. This radius is generated from the current position, speed, heading and the aim point AP. This desired radius of curvature, heading and speed are then sent to the steering control unit. The method operates both in straight and contour guidance modes with an aim point AP being generated using either points on the straight line or a best fit of points logged or generated as the guidance line or from the previous guidance edge of the swath width. Advantageously the current method allows use of guidance systems with various levels of accuracy and cost with the ability to correct for system drift and the offsets of current row or crop positioning. The current system utilizes two dimensional DGPS velocity only, matching desired turn rate to a hard mounted, single axis, real time calibrated, rate gyro. The aim point, AP, can dynamically be moved based on ground speed and vehicle heading to improve the move onto line as well as on line tracking.
Straight Line Steering Using Turn Rate
Turning now to FIGS. 2A and 2B, as well as FIG. 8 depicting the particulars of one exemplary methodology 200 for guidance of a vehicle 5. In an exemplary embodiment, for a selected desired line 110 and aim point denoted AP, an angle relative to the desired line is determined as depicted at process blocks 202, 204, and 206. Furthermore, as depicted at block 208, the desired turn rate is determined. In an exemplary embodiment, the desired turn rate is that turn rate, which the vehicle 5 should preferably attain to swing smoothly onto the desired line 110 to an aim point AP with substantially no overshoot while in a straight guidance mode. This aim point AP is calculated from a speed varying distance ahead of the vehicle on the desired path. It will be appreciated that the aim point AP is configured as a “moving target”, in that, it is never actually reached, but is instead, the goal of the steering system. The vehicle 5 can be heading and/or turning in any direction initially but the method 100 will swing the vehicle around to eventually reach the instantaneous optimal turn rate, tracking to the line.
In an exemplary embodiment of the methodology 200, the guidance system 10 responds in one of four ways, depending on the initial heading of the vehicle relative to the desired line 110 and aim point, AP, and the current position as depicted at process blocks 206 and 208. These responses are mirrored for guidance starting from the either side of the desired line 110. However, only the right hand side of the line is depicted in the figures.
As depicted at process blocks 210 and 220, if the vehicle 5 is initially heading away from the desired line 110, as depicted in FIG. 2A as direction 1, 112; the guidance system 10 will turn the vehicle employing methodology 250 to follow path 1, 122 as depicted in diagram of FIG. 2B.
As depicted at process blocks 212 and 220, if the initial heading of the vehicle 5 is directed toward the desired line 110 but beyond the aim point AP, as in heading2, 114 methodology 250 is employed and the path followed to the desired line 110 will be path2, 124 of FIG. 2B.
Furthermore, as depicted in process blocks 214 and 222, if the initial heading is aiming directly at the aim point AP, as depicted by heading3, 116, then the desired turn rate will initially be zero. As the aim point AP moves ahead on the desired line 110 and the vehicle 5 approaches the line, the aim point AP advances along the desired line 110 and the guidance system 10 reverts to methodology 260 described below to approach the desired line 110. Under such conditions, the path followed to the desired line 110 will be path 3, 126, as depicted in FIG. 2B.
Finally, as depicted by process blocks 216 and 222, if the initial heading of the vehicle 5 would cause the vehicle 5 to intersect the desired line 110 before the aim point AP, as depicted with heading 4, 118, of FIG. 2A, the guidance system 10 employs turning methodology 260 and follows path 4128 to acquire the desired line 110.
In an exemplary embodiment, two methodologies 250 and 260 are employed for tracking onto the desired line 110, depending on whether the guidance system 10 needs to curve towards the desired line 110 or needs to “feather out” the approach to ensure it minimizes overshoot of the desired line 110. As described above, the approach selected is determined by whether the current heading of the vehicle 5 is aiming beyond the aim point AP as in 210 and 212 above, or before it, as in 214 and 216 above.
The first methodology 250 uses an extension of existing steering techniques described in U.S. Pat. No. 6,539,303, entitled: GPS Derived Swathing Guidance System, to McClure et al. issued Mar. 25, 2003 and U.S. CIP patent application Ser. No. 10/396,788, Vehicle navigation System and method for Swathing Applications, to McClure et al. filed Mar. 25, 2003. The contents of which are incorporated by reference herein in their entirety. It will be appreciated that this method may be used as the only methodology whether turning to the desired line 110 or away from the desired line 110, however approach 260 provides improved results in “feathering” the approach of the vehicle 5 to meet the desired line 110.
Referring now to FIG. 3, the first methodology 250 is employed when the vehicle exhibits a heading that aims the vehicle 5 away from the desired line 110 or further up the desired line 110 than the aim point AP. In this methodology 250, the desired radius of curvature and/or desired rate of turn, denoted ROT is computed as follows:















R =
sqrt((A2 − A4) * (A2 − A4) + (A3 − A4) *




(A3 − A4))/(2 * COS(90 − (A + B)))



ROT =
speed * 180/(pi * R)


where:



A1 =
current GPS position



A2 =
forward predicted actual position of the implement




to account for GPS computation delay and antenna/




implement relative positioning



X =
A2 − A4 = off line, current cross track error



A3 =
forward predict aim point



L =
A3 − A4 = forward predict distance



A =
DGPS and DGPS gyro aided heading from desired




heading



B =
aim angle from desired heading



ROT =
rate of turn in deg/sec



C =
90 − ( A + B )



R =
A2 − A5 = A3 − A5 = radius of curvature



cos(C) =
sqrt(X * X + L * L)/(2 * R).









It will be appreciated that as used herein desired rate of turn and radius of curvature, R, may be used interchangeably as the two parameters are related by the equation:

ROT=speed*180/(pi*R).

Radius of curvature may be employed as that is the parameter readily available and utilized in an exemplary embodiment. However, it will be appreciated that either term may be utilized without loss of generality.

Referring now to FIG. 4, the second methodology 260 for approaching the desired line 110 with feathering to minimize any overshoot is depicted. As stated above, this second method 260 is employed when the current heading of the vehicle 5 is directed onto line before the aim point AP.
The Figure shows the second method employed to calculate the desired radius of curvature and thereby the desired rate of turn, ROT for the vehicle 5 to reach the aim point AP on the desired line 110 as follows:















R =
sqrt(X * X + F * F)/(2 * cos(90 − tan(X/F))



R =
speed * 180/(pi * ROT )



ROT =
speed * 180/(pi * R)


where:



A1 =
current GPS position



A2 =
forward predicted actual position of the implement




to account for GPS computation delay and antenna/




implement relative positioning



A3 =
aim point on the line



X =
current cross track error from the line



 =
forward predict value down the line, based on a




long track speed and a forward predict time plus




a minimum turn radius



R =
radius of curvature



ROT =
gyro rate of turn, deg/sec



B =
tan(X/F)



C =
90 − B



cos(C) =
sqrt(X * X + F * F)/(2 * R)



R =
sqrt(X * X + F * F)/(2 * cos(90 − tan(X/F))



=
speed * 180/(pi * ROT)



ROT =
speed * 180/(pi * R)









In an implementation of an exemplary embodiment the desired radius of curvature, R, is generated in the guidance unit 20. This is converted to rate of turn, ROT in the steering control unit 30 to compare with the actual rate of turn measured by the self calibrating internal rate gyro 40.
Contour Line Steering Using Turn Rate
Turning now to FIG. 5, there is depicted an illustration showing the methodology employed to define the aim point AP on a contour track. The desired line 110, in this instance, includes a series of points 112 at selected intervals. The series of points 112 may be logged or generated from data gathered on previous guidance passes or loaded into the guidance system 10 that defines the desired track to follow. In the figure, the points 112a depicted “below” point A3 are calculated as the closest point on a best-fit curve to that series of points close to the actual forward predicted current position, denoted A2. Point A3 is generated from point A5 as the aim point AP further down the desired line 110. This position is based on the current speed and a user set time plus a small fixed distance, which reflects the minimum turn radius capable by the vehicle.
A best-fit first order curve is selected based on several points 112 on either side of point A3, to generate an estimate of a circle, denoted c1, with a center at cc1. A tangent line to circle c1, denoted T1-T2, through point A3 is used to generate a point A4, on a line, perpendicular to tangent line T1-T2, to the actual current position A2.
Turning now to FIGS. 6 and 7 as well, in a similar manner to the straight-line methods described earlier, if the current heading is on the desired line 110 beyond aim point AP, A3, or is aiming away from the line then a technique similar to methodology 250 for straight mode is used. FIG. 6 depicts an illustrative methodology for acquiring the desired line 110 for a contour when current vehicle heading is directed away from the desired line 110 as in method 250 for straight mode guidance mentioned earlier. Likewise, FIG. 7 depicts an illustrative methodology for acquiring the desired line 110 for a contour when current vehicle heading is directed toward the desired line 110 as in option 4 for straight mode mentioned earlier.
It will be appreciated that the magnitudes of distance of segments A2-A4 and A4-A3 may readily be ascertained from the points cc1, A3 and A2. For example, it will be appreciated that with a simple coordinate transformation of about point A3, the values for the segments are readily identifiable lengths on the axes. Another coordinate transformation may be accomplished by rotating points A2 and A4 about the point cc1 to bring point A3 perpendicular (vertical) thereto and making the lengths easily determinable.













A1 =
current GPS position


A2 =
forward predicted actual implement position to account for



GPS computation delay and antenna/implement relative



positioning


A5 =
closest point to best fit of desired line


A3 =
forward predict value down the line, primarily based on the



current speed and a forward predict time


c1 =
best fit circle around number of points before and after



position at F


cc1 =
center of circle c1


T1, T2 =
tangent to circle c1 at A3


A4 =
perpendicular point to tangent through A2


X =
distance AC, cross track to tangent line


L =
long track along tangent line from A4 to A3


C2 =
circle, tangential to T1-T2 passing through A3 and A2.


R =
radius of curvature of circle c2


cc2 =
center of circle c2









It will be appreciated these computations provide a guidance system 10 with sufficient forward knowledge (e.g., always looking forward to a point A3) of the contour track ahead to provide turning for contour steering guidance. Advantageously, the guidance system may readily be controlled to direct that vehicle 5 to capture the desired line 110 and maintain the contour track.
Points A2, A3 and A4 are used to generate a circle c2 and the radius R, points cc2 to A3, as in the other methods.
This desired radius of curvature, R, is generated in the guidance system 20. Once again, this desired radius is converted to desired rate of turn, using the current speed, in the steering control unit 30 to compare with the actual rate of turn of the vehicle 5.
Previous methods log a series of edge points to determine the area already covered. Algorithms are used to rapidly resample this data set to find a sub-set of points closest to the current position for faster real time searching. Advantageously, the current method disclosed herein improves on the state of the art to provide a better fit of a curve to the series of points closest to the current aim point AP, A3. Such an approach smoothes out the real time generated aim points. Coupled with the exemplary embodiments herein using radius of curvature corrections results in sufficiently smooth operational response to facilitate utilization of a simple graphical steering guide display for contour steering as well as straight-line steering.
Straight, Parallel, Mode Offsets To Compensate For DGPS Drift And Existing Rows
Returning to FIGS. 2, 3, and 4, it will be appreciated that straight-line guidance as described above may be initiated almost immediately by generating close A and B points. A and B points have normally been generated at the extremities of the desired line 110. In an exemplary embodiment, the aim point AP or B may be updated as often as desired, whether on the fly, or as the operator drives down the first line. In an exemplary embodiment, an operator selection control is provided for operator input while on the desired track.
Methods have been developed to account for position drift in DGPS systems. This allows the use of lower end DGPS systems to be used in general steering guidance and to follow previous tracks or field rows. A method to shift over the relative AB guidance line accounts for DGPS drift or irregular spacing between already laid crop rows. In yet another exemplary embodiment, a method is provided to proportionally shift the aim end of the AB guidance line allows the system to be easily aligned to match existing crop rows laid out at different spacing and in slightly non parallel directions. All of these offsets can be easily implemented in real time to allow fine adjustment at any time down the line. These offsets can be retained for the remainder of the job or returned to the previous values. This allows this guidance system 20 to be used in areas of the world where differential service or high accuracy DGPS systems are too expensive or not readily available.
These techniques are useful when the operator is driving in fields with previous furrows, rows or tracks not necessarily generated with a high accuracy positioning system. It also allows lower accuracy differential systems to be corrected for positional drift. The result is vehicle 5, e.g., tractor and towed implement, positioning in the desired place. Similarly, previous methods log the current swath center track and then generate a new track to follow for the next pass, based on the swath offset. Another technique logs a series of edge points to determine the area already covered. In yet another exemplary embodiment, the guidance system 20 improves on the existing art by providing algorithms to rapidly resample a data set to find a sub-set of points close to the current position for faster real time searching and providing a best fit a circle to a series of points closest to the current aim point. Advantageously, this approach reduces noise on real time generated aim points and facilitates calculation of the desired curved path to follow to optimize reaching this aim point. The data may then be used by a rate gyro based control system for auto steering in a contour mode.
It will be appreciated that various levels of accuracy and drift can be obtained by using different DGPS systems. E-Dif, WAAS, single frequency RTK, dual frequency RTK are all available at increasing cost. All of these systems are supported by the guidance and steering methods disclosed herein. For example, the line-offset features mentioned above are particularly useful for lower accuracy GPS positioning systems to allow them to be utilized for steering functions. In particular, the WAAS augmented carrier phase techniques of U.S. Pat. No. 6,397,147 the disclosures of which are incorporated by reference herein in their entirety are readily applicable to the measurement techniques utilized herein.
Slope Compensation
Turning to another issue that affects guidance and steering accuracy, slope compensation is sometimes desirable to position the implement. For example, in the case of a tractor and a towed implement, maintaining the towed implement in the correct position during guidance on sloped terrain. It will be appreciated that the offset resultant from sloped terrain is not a significant problem on a continuous uniform slope, when passes in opposite directions give the same amount and direction of offset. In rolling hills, however, non-compensated slope can result in snaking furrows for a closely coupled plowing operation. Subsequent cultivating operations may have problems in following these motions, especially, without DGPS guidance or guidance without any offset capability. A calibrated horizontal accelerometer and longitudinally mounted roll rate gyro 50 operably connected to the steering control unit 30 enables and facilitates compensation. In yet another exemplary embodiment, the acceleration is employed to generate a slope bias. Once again, as with the rate gyro 30, the signals from the accelerometer and roll rate gyro 50 may be filtered to provide the desired dynamic characteristics. Advantageously, this can be carried out without the expense and computational overhead of methods, relying on the use expensive RTK receivers for X, Y, Z track positioning or multi-antennae systems. In an exemplary embodiment, the slope angle from the accelerometer, roll rate gyro, 50, is transmitted to the guidance system 20 as a cross track compensation error, in this instance to the steering control unit. The acceleration signal is utilized as a calibration for a zero level and to apply a cross track slope compensation to the guidance algorithms based on a user entered antenna height/position on the vehicle 5.
Area Compensation For Sloping Terrain
Operating on hilly terrain give rise to another issue for accurate swathing. The ground area is larger than the two dimensional (flat) area of the field. This means that guidance must compensate to address the slope contour and ensure spacing between lines remains constant. This is critical to ensure cultivating and harvesting machinery can operate efficiently. Planting, cultivating and harvesting machinery can often have different numbers of row implements and this can result in crop damage if spacing between swath passes are not as expected. Current methods use high precision altitude measurements on passes to estimate the slope from the current position or tilt sensors to do this. In an exemplary embodiment a mapping technique is employed to compensate for sloping terrain to ensure accurate swath spacing.
A two dimensional surface can be represented by a rubber sheet polynomial using co-ordinates X and Y. A typical representation for third order is:

X=A*X+B*X*X+C*X*X*X+D*Y+E*Y*Y+F*Y*Y*Y*GX*Y*Y+H*X*X*Y+I*X*Y+J

and

Y=K*Y+L*Y*Y+M*Y*Y*Y+N*X+O*X*X+P*X*X*X*QY*X*X+R*Y*Y*X+S*Y*X+T

A model of the X and Y slope gradients of a field is generated in a similar manner and saved to a database. This allows, in real time, based on the X and Y locations the X and Y gradients to be read from a gradient database and correction to swath width for real time guidance applied. This will give the correct spacings between all rows, including the space between the outside rows on opposite passes. For example, on a field with a hill in the center the passes will appear to cause an increasing bulge in the center and allow extra fill in lines to be generated in the field. This methodology will actual increase crop production by utilizing the actual field area, not just it's two-dimensional area.
The disclosed method may be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. The method can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus capable of executing the method. The present method can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or as data signal transmitted whether a modulated carrier wave or not, over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus capable of executing the method. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
While the invention has been described with reference to an exemplary embodiment, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claim

## Claims

1. 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 said vehicle;
receiving a yaw rate signal corresponding to a yaw rate of said vehicle;
computing a compensated heading for said vehicle based on an integration of said yaw rate signal, said compensated heading comprising a blend of said yaw rate signal with heading information based on said GPS data, wherein said compensated heading is further dynamically calibrated based on said GPS data;
for each desired swath comprising a plurality of desired positions and desired headings:
computing an actual track and a cross track error from said desired swath based on said compensated heading and said position, wherein said position is compared with a selected desired position of said plurality of desired positions and said compensated heading is compared with a selected desired heading of said plurality of desired headings:
calculating a desired radius of curvature to arrive at said desired swath with a desired heading;
said desired radius of curvature calculating step including generating radius of curvature data based on best fit algorithms from said GPS data including a current position, a heading and a speed to a desired aim point and a desired heading;
said aim point being at least one of: on a straight line with parallel guidance; an interpolated point from a point of closest approach to a previously logged, stored or generated curved track; a series of points defining an edge of a previously traveled swath; and a data file of track points based on best fit algorithms; and
generating a steering command based on said desired radius of curvature to a steering mechanism, said steering mechanism configured to direct said vehicle.

2. The method of claim 1, further including receiving differential corrections for said GPS data and correcting said GPS data based on said differential corrections.

3. The method of claim 2, wherein said GPS data includes at least one of, carrier phase RTK corrections, satellite based differential corrections, and ground based differential corrections.

4. The method of claim 2, further including utilizing a DGPS system with dual antennae optimized to generate additional accuracy in said GPS data, further including heading data and generating said compensated heading utilizing said GPS data and said heading data.

5. The method of claim 1, further including generating a differential corrector with a reference DGPS receiver and transmitting said differential corrector to the vehicle.

6. The method of claim 1, wherein said dynamic calibration includes at least one of rate gyro bias error and scale factor error, during operation, and eliminates static initialization.

7. The method of claim 1, further including generating a tilt angle for said vehicle based on at least one of a filtered accelerometer signal and roll signal which can be used to generate a cross track correction based on antenna rotation height to correct for slope induced error in said cross track error.

8. The method of claim 1, further including reducing error in an along track velocity and position by rotating an east and north velocity from said GPS data into along track and cross track components using said compensated heading.

9. The method of claim 1 wherein said desired radius of curvature calculating step further includes generating radius of curvature data based on specific best fit algorithms for: 1) said vehicle initially heading away from said desired swath; 2) said vehicle initially heading toward said desired swath and beyond said aim point; 3) said vehicle initially heading toward said desired swath and toward said aim point; and 4) said vehicle initially heading toward said desired swath and before said aim point.

10. The method of claim 1, wherein said generating a steering command includes generating a command to drive a hydraulic or electrically driven steering system of said vehicle based on a difference between said desired curvature to reach an aim point, a current speed of said vehicle and a rate of turn of said vehicle.

11. The method of claim 1, further including offsetting said desired swath to match differences in spacing of existing tracks to compensate for spacing errors therein.

12. The method of claim 1, further including compensating for features in fields with a step in a nominal spacing of parallel guidance lines by offsetting said desired line to align with a current position.

13. The method of claim 1 wherein said blend includes a combination of said yaw rate signal with said heading information, said yaw rate signal exhibiting high short term accuracy relative to said heading information, while said heading information exhibits high long term accuracy relative to said yaw rate signal.

14. The method of claim 1, further including real time determination of slope at a current position and application of a swath width adjustment to optimize real ground coverage to yield correct spacing between swaths and additional ground coverage.

15. The method of claim 1 wherein said blend employs Kalman filtering techniques.

16. A system for steering an agricultural vehicle comprising:
a means for receiving global positioning system (GPS) data including position and velocity information corresponding to at least one of a position, velocity, and course of said vehicle;
a means for receiving a yaw rate signal corresponding to a yaw rate of said vehicle;
a means for computing a compensated heading for said vehicle based on an integration of said yaw rate signal, said compensated heading comprising a blend of said yaw rate signal with heading information based on said GPS data, wherein said compensated heading is further dynamically calibrated based on said GPS data;
for each desired swath comprising a plurality of desired positions and desired headings:
a means for computing an actual track and a cross track error from said desired swath based on said compensated heading and said position, wherein said position is compared with a selected desired position of said plurality of desired positions and said compensated heading is compared with a selected desired heading of said plurality of desired headings;
a means for calculating a desired radius of curvature to arrive at said desired swath with a desired heading;
said desired radius of curvature calculating means including means for generating radius of curvature data based on best fit algorithms from said GPS data including a current position, a heading and a speed to a desired aim point and a desired heading;
said aim point being at least one of: on a straight line with parallel guidance; an interpolated point from a point of closest approach to a previously longed, stored or generated curved track; a series of points defining an edge of a previously traveled swath; and a data file of track points based on best fit algorithms; and
a means for generating a steering command based on said desired radius of curvature to a steering mechanism, said steering mechanism configured to direct said vehicle.

17. A storage medium encoded with a machine-readable computer program code, wherein said storage medium includes instructions for causing a computer to implement 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 said vehicle:
receiving a yaw rate signal corresponding to a yaw rate of said vehicle:
computing a compensated heading for said vehicle based on an integration of said yaw rate signal, said compensated heading comprising a blend of said yaw rate signal with heading information based on said GPS data, wherein said compensated heading is further dynamically calibrated based on said GPS data;
for each desired swath comprising a plurality of desired positions and desired headings:
computing an actual track and a cross track error from said desired swath based on said compensated heading and said position, wherein said position is compared with a selected desired position of said plurality of desired positions and said compensated heading is compared with a selected desired heading of said plurality of desired headings;
calculating a desired radius of curvature to arrive at said desired swath with a desired heading;
said desired radius of curvature calculating step including generating radius of curvature data based on best fit algorithms from said GPS data including a current position, a heading and a speed to a desired aim point and a desired heading;
said aim point being at least one of: on a straight line with parallel guidance; an interpolated point from a point of closest approach to a previously logged, stored or generated curved track; a series of points defining an edge of a previously traveled swath; and a data file of track points based on best fit algorithms; and
generating a steering command based on said desired radius of curvature to a steering mechanism, said steering mechanism configured to direct said vehicle.

18. A computer system producing a data signal embodied in a computer readable medium:
wherein said computer data signal comprises code configured to cause a computer to implement 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 said vehicle;
receiving a yaw rate signal corresponding to a yaw rate of said vehicle;
computing a compensated heading for said vehicle based on an integration of said yaw rate signal, said compensated heading comprising a blend of said yaw rate signal with heading information based on said GPS data, wherein said compensated heading is further dynamically calibrated based on said GPS data;
for each desired swath comprising a plurality of desired positions and desired headings:
computing an actual track and a cross track error from said desired swath based on said compensated heading and said position, wherein said position is compared with a selected desired position of said plurality of desired positions and said compensated heading is compared with a selected desired heading of said plurality of desired headings;
calculating a desired radius of curvature to arrive at said desired swath with a desired heading:
said desired radius of curvature calculating step including generating radius of curvature data based on best fit algorithms from said GPS data including a current position, a heading and a speed to a desired aim point and a desired heading;
said aim point being at least one of: on a straight line with parallel guidance; an interpolated point from a point of closest approach to a previously logged, stored or generated curved track; a series of points defining an edge of a previously traveled swath; and a data file of track points based on best fit algorithms; and
generating a steering command based on said desired radius of curvature to a steering mechanism, said steering mechanism configured to direct said vehicle.