Abstract:
An autonomous vehicle including a chassis, a conveyance system carrying the chassis, and a controller configured to steer the conveyance system. The controller is further configured to execute the steps of receiving steering radius information from a source; and creating steering instructions for the vehicle dependent upon the steering radius information from the source. The source not being from the vehicle itself.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to vehicles, and, more particularly, to vehicles which are controlled using a guidance control system. 
         [0003]    2. Description of the Related Art 
         [0004]    Vehicle leader-follower systems are used in various military and transportation applications in which one vehicle, called the “leader”, moves along the ground, in the air, or through space, and one or more other vehicles, each called a “follower”, follow the leader and/or move along a path that is displaced from the path taken by the leader. 
         [0005]    A leader-follower system approach can have constraints in which the follower is too slow to adequately respond to changes in speed and bearing of the leader. The follower must first observe or be communicated the change in speed and bearing of the leader before providing inputs to its controls to adjust its own trajectory in order to stay at the proper offset distance from the leader. Thus, there is an inherent delay between the leader changing its speed and/or bearing and the follower changing its speed and/or bearing. This inherent delay causes poor performance in maintaining the same path as the leader and the proper follow distance unless the follow distance is great enough to allow for the sensing and communications delay time. 
         [0006]    In some applications autonomous vehicle convoys, utilize a common route planning among vehicles in the convoy for maintaining a formation among the vehicles of the convoy. The convoy consists of a leader vehicle and follower vehicles which receive a guidance signal from the vehicle ahead of it for maintaining a path of travel. Such systems may utilize a sensing system to maintain a safe distance with the vehicle ahead. Each member vehicle of the convoy knows the route and destination in advance, and the location along the route at any given point in time. 
         [0007]    Vehicles, such as those used in the agricultural, forestry and construction industries are typically controlled by an operator sitting at an operator station. However, it is also becoming more common for such vehicles to be controlled automatically through the use of a vehicle guidance system. Often an operator remains at the operator station so that control of the vehicle can be overtaken manually should the need arise. The operator typically drives the work vehicle to a predefined area, such as an agricultural field, then actuates the guidance system so that the work vehicle can be automatically driven in a predefined path through the field. The operator also manually attaches any tools (e.g., implements), and loads any application materials (such as fertilizer, herbicides, etc.). Regardless of the application, the operator is always present and ultimately under final (over-ride) control of the work vehicle. 
         [0008]    For semi-autonomous systems, it is also known to provide various geospatial data to the controller onboard the vehicle such that the position of the vehicle within a geospatial framework can be determined within certain tolerances. For example, in the case of an agricultural sprayer, it is known to utilize global positioning system (GPS) data to turn on and off different sprayer boom sections as the sprayer traverses across a field. 
         [0009]    The future outlook for off-highway agricultural and construction equipment shows an increased use of automated and unmanned technologies to increase the efficiency of operations with these vehicles. Some off-highway agricultural and construction activities demand precise and reliable vehicle control of one vehicle to a fixed offset from and close proximity to a second vehicle. Human operators with the necessary skill set are costly and sometimes unfeasible. Fatigue and stress in humans also contribute to human error which can result in costly equipment repairs and down time. 
         [0010]    What is needed in the art is a control system that allows precise, reliable, and repeatable vehicle control beyond the skills of a human operator. 
       SUMMARY OF THE INVENTION 
       [0011]    The present invention is directed to a vehicle control system in the form of a control that utilizes steering radius information. The present invention being disclosed is a method and system for controlling an autonomous vehicle&#39;s velocity and steer curvature such that the vehicle remains positioned on a moving target point. This allows an autonomous vehicle to maintain its position relative to some other body in motion. The body could be a second vehicle (manned or unmanned), a hand-held tracking device, a simulation, or other arbitrarily generated series of positions. 
         [0012]    The present invention consists in one form thereof of an autonomous vehicle including a chassis, a conveyance system carrying the chassis, and a controller configured to steer the conveyance system. The controller is further configured to execute the steps of receiving steering radius information from a source; and creating steering instructions for the vehicle dependent upon the steering radius information from the source. The source not being from the vehicle itself. 
         [0013]    The present invention consists in another form thereof of a method of controlling movements of a vehicle including the steps of receiving steering radius information from a source; and creating steering instructions for the vehicle dependent upon the steering radius information from the source. The source not being from the vehicle itself. 
         [0014]    An advantage of the present invention is that it provides for the positioning of the follower vehicle at an offset from a leader vehicle. 
         [0015]    Another advantage of the present invention is that the use of a steering radius compensates for the needed velocity changes to maintain a fixed position relative to the leader vehicle. 
         [0016]    Yet another advantage of the present invention is that the leader vehicle movements can all be virtual. 
         [0017]    Yet another advantage of the present invention is that the follower can act as a leader for another vehicle. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0018]    The above-mentioned and other features and advantages of this invention, and the manner of attaining them, will become more apparent and the invention will be better understood by reference to the following description of an embodiment of the invention taken in conjunction with the accompanying drawings, wherein: 
           [0019]      FIG. 1  is a schematic top view of an embodiment of an autonomous vehicle using a control method of the present invention; 
           [0020]      FIG. 2  is a closer schematical top view of the vehicle of  FIG. 1 ; 
           [0021]      FIG. 3A  is a part of a flowchart that details steps of the method to control the movement of the vehicle shown in  FIGS. 1 and 2 ; and 
           [0022]      FIG. 3B  is a continuation of the flowchart started on  FIG. 3A . 
       
    
    
       [0023]    Corresponding reference characters indicate corresponding parts throughout the several views. The exemplification set out herein illustrates an embodiment of the invention, in one form, and such exemplification is not to be construed as limiting the scope of the invention in any manner. 
       DETAILED DESCRIPTION OF THE INVENTION 
       [0024]    Referring now to the drawings, and more particularly to  FIGS. 1 and 2 , there is shown a vehicle  10  with a rear wheel  12  and a steerable wheel  14 . Although only two wheels are shown and discussed for vehicle  10 , it is understood that multiple wheels and/or track assemblies can be used and that more than one wheel can be steered, the references to a single wheel are intended to be extended to multiple conveyances of the vehicle. In a similar manner a rear wheel  16  and a steerable wheel  18  are part of a vehicle  20 . Vehicle  20  includes a chassis  22  and a controller  24 . Wheels  16  and  18  together (or even singularly) can be construed to be a conveyance system for chassis  22  and of course vehicle  20 . 
         [0025]    The present invention assumes that at least vehicle  20  has been equipped with the necessary systems to perform autonomous functions that conform with established operational and safety standards for such vehicles. A means of generating the position, velocity, heading, and curvature (steer radius) data of the target point of vehicle  10  is also present. This data could be derived from information about lead vehicle  10 , such as position, velocity, heading, steer radius along with a fixed or adjustable target position offset for vehicle  20  from that of lead vehicle  10 . 
         [0026]    Though the target point tracked by a follower vehicle  20  could be generated from many sources, the explanation in one embodiment of the present invention assumes a situation where the follower vehicle maintains a constant position relative to a leader vehicle  10 . This invention assumes that:
       The follower vehicle  20  has been equipped with a system that enables autonomous control of vehicle functions including velocity (propulsion) and steering of the vehicle.   The follower vehicle  20  has been equipped with a system which provides follower vehicle X,Y position, and heading.   The follower vehicle  20  has been equipped with a communication system which receives leader vehicle  10  X,Y position, velocity, heading, and steer radius.   The leader vehicle  10  has been equipped with a system which provides leader vehicle X,Y position, velocity, heading, and steer radius.   The leader vehicle  10  has been equipped with a communication system which sends leader vehicle X,Y position, velocity, heading, and steer radius to follower vehicle  20 .   Optionally, the follower vehicle  20  may also receive periodic updates of the desired target point offset relative to the leader vehicle&#39;s position and orientation. This offset data could originate from a variety of sources including, leader vehicle  10 , human interface, fixed constants, etc.
 
From all of this input data, the follower vehicle  20  calculates and autonomously effects an output steer radius and velocity that causes it to remain at the desired offset relative to the moving leader vehicle.  FIGS. 1 and 2  illustrate the geometry and  FIGS. 3A and 3B  provide a flowchart of the method of the invention along with the following Symbol Definitions and Equations to describe how the output steer radius and velocity are calculated. The leader and follower vehicles  10  and  20  are represented in the geometry diagrams of  FIGS. 1 and 2  as bicycles for illustrative simplicity.
       Note: In the following, the terms “curvature” and “steer radius” may be used interchangeably and have the following relationship to each other:   
 
         [0000]            curvature   =     1     steer                 radius             steer radius=1/curvature 
         [0034]    Symbol Definitions 
         [0035]    (Xl,Yl)=Leader position 
         [0036]    φl=Leader heading angle 
         [0037]    (x o ,y o )=Setpoint offset from leader 
         [0038]    θ1=Leader position to setpoint arc angle 
         [0039]    Rl=Leader radius 
         [0040]    (Xc,Yc)=Orbit center 
         [0041]    (Xs,Ys)=Setpoint position 
         [0042]    θs=Setpoint heading angle 
         [0043]    Rs=Setpoint radius 
         [0044]    (Xf,Yf)=Follower position 
         [0045]    φf=Follower heading angle 
         [0046]    Lw=Follower wheelbase length (distance between front and rear axles) 
         [0047]    θ2=Follower steer point to setpoint arc angle 
         [0048]    Rf=Follower radius 
         [0049]    θ3=Follower to setpoint arc angle 
         [0050]    Se=Follower to setpoint arc length (velocity error) 
         [0051]    (Xr,Yr)=Follower steer point 
         [0052]    φr=Follower desired steer tire heading angle 
         [0053]    θ4=Follower corrective steer angle 
         [0054]    Rc=Follower corrective steer radius 
         [0055]    De=Delta radius (curvature error) 
         [0056]    θ5=Follower final steer angle command (assuming P-term is saturated at ±0.08) 
         [0057]    Vl=Leader velocity 
         [0058]    Vf=Follower velocity 
         [0059]    θ max =Maximum left/right steer angle of the follower (positive value, less than π/2) 
         [0060]    R max =Maximum left/right radius with which to approximate leader straights (positive value) 
         [0061]    FFc=Curvature feed forward 
         [0062]    FFv=Velocity feed forward 
         [0063]    GPc=Curvature controller proportional gain 
         [0064]    GDc=Curvature controller derivative gain 
         [0065]    Cc min =Minimum curvature controller PD term 
         [0066]    Cc max =Maximum curvature controller PD term 
         [0067]    Nc=Curvature error low-pass filter coefficient 
         [0068]    De f =Filtered curvature error 
         [0069]    Cc=Curvature controller PD term 
         [0070]    Oc min =Minimum final curvature output 
         [0071]    Oc max =Maximum final curvature output 
         [0072]    Oc=Curvature final output 
         [0073]    GPv=Velocity controller proportional gain 
         [0074]    Cv min =Minimum velocity controller P term 
         [0075]    Cv max =Maximum velocity controller P term 
         [0076]    Cv=Velocity controller P term 
         [0077]    Ov min =Minimum final velocity output 
         [0078]    Ov max =Maximum final velocity output 
         [0079]    Qv=Velocity final output 
         [0080]    Equations: 
         [0081]    Approximate straight leader curvature with large radius curves: 
         [0000]      − R   max   ≦Rl≦R   max  
 
         [0082]    Translate leader position to orbit center: 
         [0000]        Xc=Xl+Rl  cos(φ l+π/ 2)
 
         [0000]        Yc=Yl+Rl  sin(φ l+π/ 2)
 
         [0083]    Convert setpoint offsets in vehicle frame to world frame and find setpoint radius: 
         [0000]        Xs=Xl +( x   o  cos(φ l )− y   o  sin(φ l ))
 
         [0000]        Ys=Yl +( x   o  sin(φ l )− y   o  cos(φ l ))
 
         [0000]        Rs =sgn( Rl )√{square root over (( Xc−Xs ) 2 +( Yc−Ys ) 2 )}{square root over (( Xc−Xs ) 2 +( Yc−Ys ) 2 )}
 
         [0084]    Find setpoint heading: 
         [0000]      θ1=−π≦atan 2( Ys−Yc, Xs−Xc )−atan 2( Yl−Yc, Xl−Xc )≦π
 
         [0000]      φ s=φl+θ 1
 
         [0085]    Find follower radius and error terms: 
         [0000]        Rf =sgn( Rl )√{square root over (( Xc−Xf ) 2 +( Yc−Yf ) 2 )}{square root over (( Xc−Xf ) 2 +( Yc−Yf ) 2 )}
 
         [0000]      θ3=−π≦atan 2( Ys−Yc, Xs−Xc )−atan 2( Yf−Yc, Xf−Xc )≦π
 
         [0000]      Se=θ3Rf
 
         [0000]    
       
      
       De=Rs−Rf  
      
     
         [0086]    Translate follower position to steer point: 
         [0000]        Xr=Xf+Lw  cos(φ f )
 
         [0000]        Yr=Yf+Lw  sin(φ f )
 
         [0087]    Steer point to setpoint arc angle: 
         [0000]    
       
         
           
             θ3 
             = 
             
               
                 - 
                 π 
               
               ≤ 
               
                 
                   atan 
                    
                   
                       
                   
                    
                   2 
                    
                   
                     ( 
                     
                       
                         Ys 
                         - 
                         Yc 
                       
                       , 
                       
                         Xs 
                         - 
                         Xc 
                       
                     
                     ) 
                   
                 
                 - 
                 
                   atan 
                    
                   
                       
                   
                    
                   2 
                    
                   
                     ( 
                     
                       
                         Yr 
                         - 
                         Yc 
                       
                       , 
                       
                         Xr 
                         - 
                         Xc 
                       
                     
                     ) 
                   
                 
               
               ≤ 
               π 
             
           
         
       
       
         
           
             
               φ 
                
               
                   
               
                
               r 
             
             = 
             
               
                 - 
                 π 
               
               ≤ 
               
                 
                   φ 
                    
                   
                       
                   
                    
                   s 
                 
                 - 
                 θ2 
               
               ≤ 
               π 
             
           
         
       
       
         
           
             θ4 
             = 
             
               
                 - 
                 
                   θ 
                   max 
                 
               
               ≤ 
               
                 ( 
                 
                   
                     φ 
                      
                     
                         
                     
                      
                     r 
                   
                   - 
                   
                     φ 
                      
                     
                         
                     
                      
                     f 
                   
                 
                 ) 
               
               ≤ 
               
                 θ 
                 max 
               
             
           
         
       
       
         
           
             Rc 
             = 
             
               Lw 
               
                 tan 
                  
                 
                   ( 
                   θ4 
                   ) 
                 
               
             
           
         
       
     
         [0088]    Calculate feed forward terms: 
         [0000]    
       
         
           
             
               FF 
               c 
             
             = 
             
               - 
               
                 1 
                 Rc 
               
             
           
         
       
       
         
           
             FFv 
             = 
             
               VIRf 
               Rc 
             
           
         
       
     
         [0089]    Calculate final curvature output: 
         [0000]    
       
         
           
             
               De 
               f 
             
             = 
             
               
                 
                   [ 
                   
                     
                       
                         D 
                         
                           e 
                           r 
                         
                       
                       - 
                       
                         D 
                         
                           e 
                           
                             t 
                             - 
                             1 
                           
                         
                       
                     
                     
                       t 
                       - 
                       
                         e 
                         
                           t 
                           - 
                           1 
                         
                       
                     
                   
                   ] 
                 
                  
                 
                   ( 
                   
                     1 
                     - 
                     Nc 
                   
                   ) 
                 
               
               + 
               
                 
                   De 
                   
                     t 
                     - 
                     1 
                   
                 
                  
                 Nc 
               
             
           
         
       
       
         
           
             Cc 
             = 
             
               
                 Cc 
                 min 
               
               ≤ 
               
                 
                   DeGPc 
                   + 
                   DefGDc 
                 
                 
                   vf 
                   2 
                 
               
               ≤ 
               
                 Cc 
                 max 
               
             
           
         
       
       
         
           
             Oc 
             = 
             
               
                 Oc 
                 min 
               
               ≤ 
               
                 Cc 
                 + 
                 FFc 
               
               ≤ 
               
                 Oc 
                 max 
               
             
           
         
       
     
         [0090]    Calculate final velocity output: 
         [0000]    
       
      
       Cv=Cv 
       min 
       ≦SeGPv≦Cv 
       max  
      
     
         [0000]    
       
      
       Ov=Ov 
       min 
       ≦Cv+FFv≦Ov 
       max  
      
     
         [0091]    Now, looking to a method  100  illustrated in the flowchart of  FIGS. 3A and 3B , where method  100  illustrates how vehicle  20  calculates a steering angle based on a steering radius of a leader vehicle or on data that is provided to vehicle  20  that is representative of a steering radius of a projected point. Method  100  shows the flow of the application of the equations presented above. Starting at step  102  initial data on the positon, heading, velocity, offset, and radius of vehicle  10 , and the positon, heading and wheelbase of vehicle  20  is obtained. At step  104 , the pathway of vehicle  10  is approximated with a radius, and the orbit center of the radius is determined at step  106 . At step  108 , the setpoint of vehicle  10  is translated to a world frame, with the radius and heading of the setpoint being calculated in steps  110  and  112 . 
         [0092]    At step  114  a radius for vehicle  20  is calculated, and the setpoint arc angle and the arc length are calculated in steps  116  and  118 . The steer point is converted from the vehicle frame to a world frame at step  120 . At step  122 , the steer point to setpoint arc angle is calculated and then the heading of steer tire  18  is calculated at step  124 . At step  126 , the corrective steer angle of tire  18  is calculated, and then a corrective steering angle is calculated then saturated to be within a predetermined range, such as ±89°, in steps  126  and  128 . 
         [0093]    At steps  130 ,  132  and  134 , the corrective steer curvature, the curvature feed forward and curvature error are calculated. At steps  136 ,  138  and  140 , the velocity feed forward, the velocity error, and the velocity proportional-only output are calculated. A saturation of the velocity proportional only output takes place at step  142 . The velocity feed forward is added to the velocity proportional-only output at step  144 , with the result being saturated at step  146 . At step  148 , the delta curvature error is run through a low-pass filter to obtain a curvature derivative term. The curvature proportional/derivative output is calculated at step  150 . 
         [0094]    At step  152  it is determined if the velocity of vehicle  20  is greater than zero, and if it is method  100  proceeds to step  154 , but if the velocity is not greater than zero then method  100  bypasses step  154  and proceeds to step  156 . At step  154 , the curvature proportional/derivative output is divided by the velocity of vehicle  20  squared. In step  156 , the curvature proportional/derivative output is saturated. The curvature feed forward term is added to the curvature proportional/derivative output at step  158 . The final curvature command is saturated at step  160 . The final curvature command and velocity command are output from method  100  at step  162 . Method  100  is then repeated, without obtaining the initial information of step  102 , to continuously operate and control the movement of vehicle  20 . 
         [0095]    Advantageously the present invention describes a follower vehicle  20  that remains fixed to a constant position offset from a leader vehicle  10 . It is contemplated that the control point (point that the follower tries to fix itself to), could originate from simulation or a preplanned path. It is also contemplated that the control point could originate from a human rather than a vehicle, thus allowing vehicle control from outside the vehicle  20 . It is further contemplated that the follower vehicle  20  could also act as a leader vehicle for another follower vehicle, thus allowing several vehicles to be virtually linked together (such as multiple combines harvesting in a coordinated sequence). 
         [0096]    While this invention has been described with respect to at least one embodiment, the present invention can be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the invention using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains and which fall within the limits of the appended claims.