# Patent

## Title
Collision avoidance for vehicle control systems

## Abstract

A method and apparatus for at least semi-autonomously controlling a vehicle so as to avoid collisions are provided. A sensor is utilized to scan an area proximate the vehicle for a potential object of collision. The apparatus calculates navigational states of the potential object of collision relative to the vehicle to determine that the vehicle is on a course to enter within a predetermined miss distance relative to the potential object of collision. The apparatus alters the course of the vehicle based on the calculated navigational states.

## Background
BACKGROUND OF THE INVENTION
The present invention relates to a collision avoidance system for a vehicle. In particular, the present invention relates to a system that autonomously controls a vehicle to avoid objects of collision.
Many vehicles, such as aircraft vehicles, have systems which use radar for detecting potential objects of collision, such as terrain and other vehicles. Radar can detect potential objects of collision located within a certain proximity to the aircraft vehicle. Upon radar detecting the presence of a potential object of collision, a warning signal is provided to a pilot of the aircraft. The pilot must then analyze the object and determine if action needs to be taken in order to avoid the object. If action needs to be taken, the pilot obeys general aviation and etiquette rules promulgated by the FAA (Federal Aviation Administration) to regulate aircraft vehicle traffic in national air space (NAS).
These types of conventional avoidance systems are very expensive. Therefore, integrating such a system on smaller vehicles is not entirely feasible. In addition, these conventional avoidance systems detect potential objects of collision and provide warning signals only. Thus, conventional avoidance systems rely on the presence of a pilot to recognize the signal and take appropriate action by altering the course of the vehicle.
The potential for collisions is even greater in the context of unmanned vehicle systems. In one application of such a technology, a remotely located operator manages and controls an unmanned aerial vehicle (UAV), typically from a ground control station. Although the ground control station enables some degree of controlled flight, generally, UAVs lack the ability to scout out their surrounding airspace and watch for incoming obstacles. Even if a UAV is equipped with some sort of forward-looking camera or video capability, the remotely located operator is primarily focused on payload and mission operations and has a limited ability to accurately interpret and analyze video information. In addition, under the circumstances, a remotely located operator may have a difficult time complying with the FAA rules for flying in civilian airspace.
Currently, UAVs are not allowed to fly in NAS. In particular, UAVs are not allowed to fly in any air space unless the UAV has received FAA approval. One of the most significant technology barriers for integrating UAVs into NAS is an effective and reliable collision avoidance system. Overcoming this technology barrier will open beneficial services to the national civilian marketplace such as forest management, mineral surveys, border patrol, agriculture and pipeline and power line inspections. Beyond these and other specific potential UAV markets, an effective and reliable collision avoidance system can provide pilots an additional mechanism to safely fly manned aircraft.
SUMMARY OF THE INVENTION
A method and apparatus for autonomously, or at least semi-autonomously controlling an aircraft so as to avoid collisions are provided. A sensor is utilized to scan an area proximate the aircraft for a potential object of collision. The apparatus calculates navigational state of potential object of collision relative to the aircraft to determine that the aircraft is on a course to enter within a predetermined miss distance relative to the potential object of collision. The apparatus alters the course of the vehicle based on the calculated navigational states.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a simplified block diagram of a collision avoidance system in accordance with an embodiment of the present invention.
FIG. 2 illustrates a simplified block diagram of an auto avoidance module in accordance with an embodiment of the present invention.
FIG. 3 illustrates an earth centered, earth fixed (ECEF) reference frame.
FIGS. 4-1 illustrates a geodetic reference frame and local vertical coordinate frame.
FIGS. 4-2 illustrates a local vertical reference frame with respect to a geodetic reference frame.
FIG. 5 illustrates a local vertical reference frame and line of sight reference frame.
FIG. 6 illustrates a guidance logic routine in accordance with an embodiment of the present invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Much of the description of the present invention will be devoted to describing embodiments in the context of unmanned aerial vehicles (UAV). However, it is to be understood that the embodiments of the present invention pertain to a collision avoidance system and are designed for broad application. The embodiments can be adapted by one skilled in the art to be applied in the context of any of a variety of unmanned and manned vehicles including, but not limited to, airplanes, helicopters, missiles, submarines, balloons or dirigibles, wheeled road vehicles, tracked ground vehicles (i.e., tanks), and the like.
FIG. 1 illustrates a simplified block diagram of autonomously controlled collision avoidance system 100 as implemented in a UAV 102 in accordance with an embodiment of the present invention. Collision avoidance system 100 includes a detect and track module 104 coupled to an auto avoidance module 106 which is in communication with a ground control station 108, an inertial navigation system 105 and flight controls 114.
Detect and track module 104 includes sensors 110 and moving target detection and tracking module 112. In one embodiment, sensors 110 include video or optical cameras that use visible-light wavelength detector arrays and can optically sense various objects within a particular range depending at least on camera quality and resolution capability. Sensors 110 are configured to take real-time video, typically digital video, of the environment in which UAV 102 is flying. For example, the video is provided to moving target detection and tracking module 112. In another embodiment, sensors 110 could be non-visual sensors, such as radio frequency (RF), laser, infrared (IR) or sonar. Module 112, using sensed information, is configured to provide moving object tracks to auto avoidance module 106. Inertial navigation system 105 provides auto avoidance 106 with information related to velocity, position and angular position of UAV 102.
Based on the moving object tracks provided by detect and track 104 and information provided by inertial navigation system 105, auto avoidance module 106 is able to generate the best estimate of position and velocity for the object of collision. Auto avoidance module 106 also calculates various relative or navigational states of the object of collision with respect to UAV 102 and generates guidance maneuver commands for flight controls 114 to avoid the potential object of collision. In addition, module 106 communicates with ground control station 108. Module 106 can relay status information, such as information related to position and velocity of UAV 102 and information related to the potential object of collision, to ground control station 108 through an operator interface 116. In accordance with one embodiment, the navigational status information alerts an operator that UAV 102 is on a course to collide with an object. Relaying status information gives the operator a chance to take over flight controls 114 to manually avoid the object and/or notify the operator that UAV 102 will enter an auto avoidance guidance mode. The status information also relays information related to potential objects of collision to a situation awareness display 118 via operator interface 116.
Situational awareness display 118 illustratively displays synthetic imagery of operator situational awareness. For example, situational awareness display 118 incorporates commercial off-the-shelf technology developed by SDS International of Arlington, Va. The synthetic imagery illustratively provides synthetic real-time displays of two-dimensional and/or three-dimensional views of UAV 102 and its surroundings as it flies within a particular airspace. For example, if current weather conditions are hazy or cloudy, the synthetic imagery displays UAV 102 in a clear synthetic corresponding environment. Auto avoidance module 106 provides information about a potential object of collision to situation awareness display 118 such that ground control station 108 can instruct situation awareness display 118 to generate visuals of objects based on the real-time position of the objects.
FIG. 2 illustrates a simplified block diagram of auto avoidance module 106 and inertial navigation system 105 in accordance with an embodiment of the present invention. Auto avoidance module 106 includes a track state estimator 120. Track state estimator 120, in the current embodiment, is configured to receive moving object tracks in the form of elevation εel and azimuth εaz direction finding (DF) angle information relative to the visual sensor bore sight. It should be noted that those skilled in the art could incorporate other track state information from detect and track module 112 in track state estimator 120. For example, range, closing velocity (VC) and DF rates can be incorporated from detect and track module 112. Track state estimator 120 is also configured to receive estimations of position and velocity for UAV 102 provided by inertial navigation system 105. Inertial navigation system 105 includes a global positioning system (GPS) 132 and an inertial measurement unit 134. These sensors are coupled with strapdown equations and a sensor error estimator such that the best estimate of position, velocity and angular position are determined for UAV 102. In addition, information determined by inertial navigation system 105 is also configured to be received by auto avoid guidance 128 to aid in guiding UAV 102 away from an object of collision. Track state estimator 120 uses the DF angle information and the best estimate of position and velocity of UAV 102 to estimate the relative range vector R, the relative range rate vector , a line-of-sight angle vector λLOS and a line-of-sight rate vector  between UAV 102 and the potential object of collision.
In accordance with one embodiment of the present invention, track state estimator 120 is an Extended Kalman Filter. Extended Kalman Filters are well known in the art. A detailed discussion of Extended Kalman Filters is described in the article by Taek L. Song et al. titled “Suboptimal Filter Design with Pseudomeasurements for Target Tracking”. 1988. IEEE Transactions on Aerospace and Electronic Systems. Vol. 24. However, those skilled in the art should recognize that track state estimator 120 can utilize other types of mathematical systems that provide estimations of past, present and future states of an object based on DF angles obtained by various types of sensors.
The information determined and provided by track state estimator 120 is received by auto avoid monitor 122 to determine various parameters that forecast future collisions and received by auto avoid guidance 128 to develop guidance commands that divert the path of UAV 102 to avoid such a collision. Auto avoid monitor 122 includes an avoid state calculator 124 and an avoid alert calculator 126. Avoid state calculator 124 takes the information estimated by track state estimator 120 and calculates various navigational states. For example, avoid state calculator 124 determines a time-to-go (tgo) to the closest point of approach based on current velocity and range profiles, the relative closing velocity (VC) along the line of sight between the object and UAV 102 and the zero effort miss distance (ZEM) or closest point of approach based on non-accelerated current velocity and range profiles. Currently, FAA guidelines require that a vehicle must miss another vehicle by 500 feet. Thus, the avoidance maneuver of the present invention illustratively guarantees at least a 500-foot miss (of course, any other range is within the scope of the present invention). In addition, the minimum miss distance or ZEM is used as an indicator to terminate the avoidance maneuver and return UAV 102 to its prior path.
Avoid alert calculator 126 calculates an alert avoid flag and a head-on flag based on ZEM. The head-on flag indicates that UAV 102 is on course to collide with the potential object of collision head-on. The alert avoid flag indicates that UAV 102 is on course to enter in to some other type of collision. Both head-on flag and alert avoid flag should activate auto avoid guidance 128 to avoid an object. Auto avoid guidance 128 receives the calculated parameters from avoid state calculator 124, the alert avoid flag as well as the head-on indicator to override the existing guidance mode of UAV 102. Auto avoid guidance 128 maneuvers UAV 102 by generating avoidance maneuver commands for flight controls 114 to avoid a collision and miss an approaching object by at least the predetermined miss distance. Auto avoid guidance 128 can also use an active transponder system, used in commercial aviation, to inject commands into auto avoid guidance module 128.
In accordance with one embodiment, auto avoid guidance 128 is programmed to make an avoidance maneuver according to the FAA's “rules of the road” for civilian aircraft operating in National Air Space (NAS). In particular, the avoidance maneuver complies with Part 91 of the FAA regulations and meets the FAA's Collision Avoidance Systems Final Rule FAA-2001-10910-487 and FAA 2001-10910-489. After auto avoid guidance 128 completes a maneuver, auto avoid recovery 130 generates recovery commands for flight controls 114 such that UAV 102 gracefully resumes the previous guidance mode.
FIG. 3 illustrates an earth centered, earth fixed (ECEF) reference frame 300. ECEF reference frame 300 is oriented with its origin at the earth center, wherein the x-axis and the y-axis lie in the equatorial plane 302 with the x-axis passing through the Greenwich Meridian 304. The z-axis is normal to the x-y plane and passes through the North Pole 306.
FIGS. 4-1 illustrates a geodetic reference frame 400 that defines the lines of latitude λ and longitude l along the earth's surface. Geodetic latitude λ is the angle between the equatorial plane 402 and the normal to the surface of an ellipsoid. Geodetic longitude l is the angular rotation relative to the ECEF x-axis in the equatorial plane 402. Geodetic altitude h (not shown) is the elevation above the ellipsoid surface.
FIGS. 4-2 illustrates a local vertical coordinate frame 404 with respect to the geodetic reference frame 400. The local vertical reference frame 404 is illustrated as a north, east, down (NED) reference frame. The NED reference frame is a right handed, orthogonal coordinate system oriented at the surface of the Earth's ellipsoid. The z-axis is tangent to the normal of the Earth surface ellipsoid and has its positive direction pointing into earth. The positive x-axis points towards true north and the positive y-axis points towards the East.
Certain embodiments of the present invention involve coordinate frame transformations. For example, a function can be applied to transform local vertical (NED) coordinates to body frame coordinates. In this example transformation, the following 3×3 transformation matrix (TBL Matrix):




  
    
      
        TBL
        =
        
          [
          
            
          
          ⁢
          
            
              
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    ψ
                    ⁢
                    
                      
                    
                    ⁢
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    θ
                  
                
              
              
                
                  
                    
                      (
                      
                        cos
                        ⁢
                        
                          
                        
                        ⁢
                        ψ
                        ⁢
                        
                          
                        
                        ⁢
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        θ
                        ⁢
                        
                          
                        
                        ⁢
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        φ
                      
                      )
                    
                    -
                    
                      (
                      
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        ψ
                        ⁢
                        
                          
                        
                        ⁢
                        cos
                        ⁢
                        
                          
                        
                        ⁢
                        φ
                      
                      )
                    
                  
                
              
              
                
                  
                    
                      (
                      
                        cos
                        ⁢
                        
                          
                        
                        ⁢
                        ψ
                        ⁢
                        
                          
                        
                        ⁢
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        θ
                        ⁢
                        
                          
                        
                        ⁢
                        cos
                        ⁢
                        
                          
                        
                        ⁢
                        φ
                      
                      )
                    
                    +
                    
                      (
                      
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        ψ
                        ⁢
                        
                          
                        
                        ⁢
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        φ
                      
                      )
                    
                  
                
              
            
            ⁢
            
              
            
            ⁢
            
              

            
            ⁢
            
              
                
                  
                    sin
                    ⁢
                    
                      
                    
                    ⁢
                    ψ
                    ⁢
                    
                      
                    
                    ⁢
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    θ
                  
                
                
                  
                    
                      -
                      sin
                    
                    ⁢
                    
                      
                    
                    ⁢
                    θ
                  
                
              
              
                
                  
                    
                      (
                      
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        ψ
                        ⁢
                        
                          
                        
                        ⁢
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        θ
                        ⁢
                        
                          
                        
                        ⁢
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        φ
                      
                      )
                    
                    +
                    
                      (
                      
                        cos
                        ⁢
                        
                          
                        
                        ⁢
                        ψ
                        ⁢
                        
                          
                        
                        ⁢
                        cos
                        ⁢
                        
                          
                        
                        ⁢
                        θ
                      
                      )
                    
                  
                
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    θ
                    ⁢
                    
                      
                    
                    ⁢
                    sin
                    ⁢
                    
                      
                    
                    ⁢
                    φ
                  
                
              
              
                
                  
                    
                      (
                      
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        ψ
                        ⁢
                        
                          
                        
                        ⁢
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        θ
                        ⁢
                        
                          
                        
                        ⁢
                        cos
                        ⁢
                        
                          
                        
                        ⁢
                        φ
                      
                      )
                    
                    -
                    
                      (
                      
                        cos
                        ⁢
                        
                          
                        
                        ⁢
                        ψ
                        ⁢
                        
                          
                        
                        ⁢
                        sin
                        ⁢
                        
                          
                        
                        ⁢
                        φ
                      
                      )
                    
                  
                
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    θ
                    ⁢
                    
                      
                    
                    ⁢
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    φ
                  
                
              
            
          
          ]
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        1
      
    
  




where θ is the pitch angle, ψ is the yaw angle and φ is the roll angle of UAV 102.

FIG. 5 illustrates a local vertical coordinate frame showing the north, east and down (NED) components relative to UAV 102 and an object of collision 103. In addition, FIG. 5 illustrates a line of sight (LOS) coordinate frame, wherein the three components are labeled A, H and V in relation to the local vertical reference frame. Local vertical can be transformed into the LOS coordinate frame or vice versa based on the range components of the NED coordinate frame.
Upon detect and track module 104 (FIG. 1) detecting an object, track state estimator 120 of FIG. 2 is configured to receive the corresponding elevation angle εel and azimuth angle εaz of the potential object of collision and is configured to receive positional and velocity information from inertial navigation system 105. Based on this information, track state estimator 120 determines the position vector POBJ,LV and the velocity vector VOBJ,LV of the potential object of collision in local vertical coordinates.
Track state estimator 120 uses these position and velocity values of the potential object of collision and position and velocity values of UAV 102 to calculate the relative range vector R of the potential impediment with respect to UAV 102, the relative range rate vector , the line of sight rate vector , the line of sight angle vector the range magnitude R and the range rate {dot over (R)}. The values of relative range vector, relative range rate vector, line of sight angle vector and line of sight rate vector are all computed into local vertical coordinates. For example local vertical coordinates can be based on a North, East, Down (NED) reference frame 404 as illustrated in FIGS. 4-2.
The relative range vector R (illustrated in FIG. 5) and range rate vector  are the differences between the position and velocity of the potential object of collision and the position and velocity of UAV 102 as illustrated in the following equation:

 R= POBJ,LV− PUAV,LV  Equation 2

= VOBJ,LV− VUAV,LV  Equation 3

The line of sight angle vector λ is calculated by:

λD=arctan(RE,RN)  Equation 4

λE=arctan(−RD,√{square root over (RN2+RE2)})  Equation 5

where λD is the down component of the line of sight angle, λE is the east component of the line of sight angle, RN is the north component of the range vector (shown in FIG. 5), RE is the east component of the range vector (shown in FIG. 5) and RD is the down component of the range vector (shown in FIG. 5). The line of sight rate vector  is the angular rate of change of the line of sight vector and is calculated by:





  
    
      
        
          
            λ
            .
          
          _
        
        =
        
          
            
              R
              _
            
            ×
            
              
                R
                .
              
              _
            
          
          
            R
            2
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        6
      
    
  




where R is the relative range vector of the potential object of collision with respect to UAV 102,  the relative range rate vector of the potential object of collision with respect to UAV 102 and R is the magnitude of the relative range and is calculated by:

R=√{square root over (RN2+RE2+RD2)}  Equation 7

where RN is the north component of the relative range, RE is the east component of the relative range and RD is the down component of the relative range.

In accordance with an embodiment of the present invention, avoid state calculator 124 receives the relative range magnitude R, the relative range rate {dot over (R)} and the line of sight rate vector  as determined and calculated by track state estimator 120. Avoid state calculator 124 calculates a closing velocity VC and a time-to-go tgo based on the relative range R and relative range rate {dot over (R)}. The closing velocity is the relative velocity along the line of sight between UAV 102 and the potential object of collision. Closing velocity is equal to the relative range rate provided by track state estimator 120 and is calculated by:




  
    
      
        
          V
          C
        
        =
        
          -
          
            
              
                R
                _
              
              ·
              
                
                  R
                  .
                
                _
              
            
            R
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        8
      
    
  




where R is the relative range vector,  is the relative range rate vector and R is the relative range magnitude.

Time-to-go tgo is the amount of time until UAV 102 is at its closest point of approach to the potential object of collision assuming both the potential object of collision and UAV 102 continue at constant non-accelerating velocities. Time-to-go is calculated by:




  
    
      
        
          t
          go
        
        =
        
          R
          
            V
            C
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        9
      
    
  




where R is the magnitude of the relative range vector and VC is the closing velocity as calculated in Equation 8. The calculation of closing velocity and the calculating of time-to-go are used for guiding UAV 102 away from an object as well as in the calculation of ZEM.

Avoid state calculator 124 also calculates ZEM of UAV 102. ZEM is the estimated zero miss distance or closest point of approach vector that UAV 102 will be with respect to the potential object of collision based on current velocity and range profiles. ZEM is calculated by:

ZEM=VCtgo2  Equation 10

where  is the relative range rate vector of UAV 102, VC is the closing velocity as calculated by Equation 8 and tgo is time-to-go as calculated in Equation 9.

Referring back to FIG. 2, auto avoid monitor 122 includes an avoid alert calculator 126 configured to determine when a head-on flag and an avoid alert flag should be activated. To activate an avoid alert flag, avoid alert calculator 126 compares the magnitude of ZEM to the predetermined miss distance limit, such as 500 feet, or a predetermined allowable miss distance from the potential object of collision. If the ZEM is greater than the predetermined allowable miss distance, then the avoid alert flag is not activated. If, however, the ZEM is less than the predetermined allowable miss distance, then the avoid alert flag is activated. The alert flag remains activated until the ZEM becomes greater than the predetermined deactivation distance, which is greater than the allowable miss distance. This creates a hysterisis effect that prevents the alert flag from entering a cycle in which it is activated and deactivated repeatedly.
Upon auto avoid guidance 128 receiving an avoid alert flag from avoid alert calculator 126 and/or a head-on flag, auto avoid guidance 128 begins a guidance logic routine that continues as long as auto avoid monitor 122 predicts that UAV 102 will approach an object within the predetermined miss distance. FIG. 6 illustrates such a routine 600 as implemented by auto avoid guidance 128 in accordance with an embodiment of the present invention.
Routine 600 begins at block 602 and determines whether an avoid alert flag has been activated by auto avoid calculator 126. If an avoid alert flag is activated, then control passes to block 614 to determine if a head-on flag has been activated. Routine 600 continues to determine if an avoid alert flag has been activated until auto avoid calculator activates an avoid alert flag.
If a head-on flag is activated, then routine 600 proceeds to block 604 initializes head-on avoidance. At block 604, a head-on collision maneuver under auto avoid guidance is activated and a waypoint leg is calculated. A waypoint leg is calculated which consists of at least two waypoints parallel to the current vehicle heading that are offset by a predetermined amount to ensure that the miss distance is achieved. After calculation of the waypoint leg, auto avoid guidance 128 begins guidance of UAV 102 at block 606. At block 608, the routine determines whether the avoid alert flag is still activated. If the avoid alert flag is still activated, then the routine passes to block 610 to determine if the final waypoint of the waypoint leg has been reached. If the avoid alert flag is not activated, then control passes to block 612 and auto avoid guidance returns UAV 102 back to the stored or previous guidance mode as set in initialization. If the final waypoint leg has been reached, then control also passes to block 612. If the final waypoint has not been reached, then control passes back to block 606 to continue auto avoid guidance. The routine passes through blocks 608 and 610 until either the avoid alert flag is not activated or the final waypoint has been reached.
Referring back to block 614, if, however, a head-on flag is not activated, then the routine passes to block 616 to initialize avoidance. At block 618, an inverse homing command is calculated and designed to guide UAV 102 off of the collision trajectory it is on. Under the inverse homing commands, auto avoid guidance 128 alters UAV 102 away from the object of collision and recalculates the ZEM to determine if UAV 102 is still on course to collide with the object of collision. If the recalculation still indicates that UAV 102 is on course to collide, then auto avoid guidance repeats altering UAV 102 away from the object of collision until UAV 102 Is no longer on course to collide with an object of collision.
The calculated acceleration commands are generated normal to the current line of sight vector to the object of collision as shown below:




  
    
      
        
          n
          c
        
        =
        
          
            -
            
              N
              ⁡
              
                (
                
                  
                    ZEM
                    Desired
                  
                  -
                  ZEM
                
                )
              
            
          
          
            t
            go
            2
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        11
      
    
  




where nc is the acceleration command in local vertical coordinates, N is the guidance gain for avoidance, ZEM is the current Zero Effort Miss as calculated in Equation 10 by auto avoid monitor 122, ZEMDesired is the desired zero effort miss, and tgo is the time to go as calculated in Equation 9 by the auto avoid monitor 122. ZEMDesired is most appropriately defined in the LOS frame (illustrated in FIG. 5) and then transformed into the local vertical frame to support the previous calculation.

At block 620, the routine determines if the alert avoid flag is still activated. If the avoid alert flag is still activated, then control passes back to block 618 to continue guiding UAV 102 away from the object of collision. If, however, the alert avoid flag is not activated, then control passes to block 612 to return UAV 102 back to the stored or previous guidance mode.
Although the present invention has been described in detail with respect to a control system for an unmanned aerial vehicle, the present invention is applicable to any vehicle control system or autopilot. In addition, although not specifically described, in one embodiment of the present invention, auto avoid guidance 128 (FIG. 2) supplies flight controls 114 (FIG. 2) with acceleration vectors in order to guide UAV 102 away from an object of collision. This acceleration vector can be used to accommodate any vehicle control system. If a particular vehicle control system does not accept an acceleration vector for its autopilot, the acceleration vector can be translated into a suitable parameter in order to guide a vehicle away from an object of collision.
Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.

## Claims

1. A method for autonomously controlling an aircraft so as to avoid collisions, the method comprising:
(a) utilizing a sensor to scan an area proximate the aircraft for a potential object of collision;
(b) utilizing data collected from the sensor to generate a moving object track for the potential object of collision, the moving object track including an elevation direction finding angle and an azimuth direction finding angle for the potential object of collision, the elevation and the azimuth direction finding angles being relative to the sensor;
(c) utilizing an inertial guidance system to determine the position and velocity of the aircraft;
(d) utilizing the elevation direction finding angle, the azimuth direction finding angle, the aircraft position, and the aircraft velocity to estimate a relative range vector ( R), a relative range rate vector (), a line-of-sight angle vector ( λ), a line-of-sight rate vector (), a range magnitude (R), and a range rate ({dot over (R)}) between the potential object of collision and the aircraft;
(e) performing a calculation so as to determine whether the aircraft is on a course to enter within a predetermined distance relative to the potential object of collision, wherein the calculation utilizes the equations:





  
    V
    C
  
  =
  
    -
    
      
        
          R
          _
        
        ·
        
          
            R
            .
          
          _
        
      
      R
    
  




where VC is a closing velocity,






  
    t
    go
  
  =
  
    R
    
      V
      C
    
  




where tgo is a time-to-go,


ZEM=VCtgo2 


where ZEM is a closest point of approach vector that the aircraft will be with respect to the potential object of collision; and

(f) altering the course of the aircraft based at least in part on the calculation.

2. The method of claim 1, wherein altering the course of the aircraft comprises altering the course of the aircraft without affirmation from a pilot.

3. The method of claim 2, further comprising:
comparing the ZEM to a predetermined miss distance limit; and
activating an avoid alert flag upon the ZEM being less than the predetermined miss distance limit.

4. The method of claim 3, further comprising:
deactivating the avoid alert flag upon the ZEM being greater than the predetermined miss distance limit.

5. The method of claim 2, wherein step (f) comprises calculating an acceleration command to accelerate away from the potential object of collision, wherein the acceleration command (nc) is determined utilizing the equation:




  
    n
    c
  
  =
  
    
      -
      
        N
        ⁡
        
          (
          
            
              ZEM
              Desired
            
            -
            ZEM
          
          )
        
      
    
    
      t
      go
      2
    
  



where N is a guidance gain for avoidance and ZEMDesired is a desired zero effort miss distance.

6. The method of claim 2, wherein the relative range vector, the relative range rate vector, the line-of-sight angle vector, and the line-of-sight rate vector between the potential object of collision and the aircraft are computed into local vertical coordinates.

7. The method of claim 6, wherein the local vertical coordinates are based on a North, East, Down reference frame.

8. The method of claim 7, wherein the aircraft is an unmanned aerial vehicle.

9. The method of claim 2, wherein step (a) comprises utilizing a camera to scan an area proximate the aircraft for a potential object of collision and wherein step (b) comprises utilizing video from the camera to generate the moving object track for the potential object of collision.

10. The method of claim 9, wherein step (a) comprises utilizing a visible light wavelength camera and wherein step (b) comprises utilizing real-time video collected from the camera to generate the moving object track.

11. The method of claim 9, wherein step (a) comprises utilizing a non-visible light wavelength camera.

12. The method of claim 2, further comprising:
communicating with a ground control station, wherein communicating with a ground control station comprises alerting an operator that the aircraft is on a course to collide with the potential object of collision.

13. The method of claim 12, wherein communicating with a ground control station comprises relaying information related to the potential object of collision.

14. The method of claim 12, wherein communicating with a ground control station comprises relaying the positional and velocity information of the aircraft.

15. A method for autonomously controlling an aircraft so as to avoid collisions, the method comprising:
utilizing a sensor to scan an area proximate the aircraft for a potential object of collision;
utilizing data collected from the sensor to generate a moving object track for the potential object of collision;
determining the position and velocity of the aircraft;
generating a best estimate of the position and velocity of the potential object of collision based at least in part on the moving object track and on the position and velocity of the aircraft;
performing a calculation so as to determine whether the aircraft is on a course to enter within a predetermined distance relative to the potential object of collision, wherein the calculation utilizes the equation:


ZEM=VCtgo2 

where ZEM is a closest point of approach vector that the aircraft will be with respect to the potential object of collision,  is a line-of-sight rate vector, VC is a closing velocity, and tgo is a time-to-go; and

altering the course of the aircraft based at least in part on the calculation.

16. The method of claim 15, further comprising repeating said performing and said altering until the aircraft is on course to not enter within the predetermined distance relative to the potential object of collision.

17. The method of claim 15, wherein performing a calculation comprises calculating that the aircraft is on course to enter into a head-on collision.

18. The method of claim 17, wherein altering the course comprises guiding the aircraft away from the potential object of collision according to civilian aircraft operating rules.

19. The method of claim 18, wherein altering the course comprises calculating a waypoint leg to alter the course of the aircraft.

20. The method of claim 19, further comprising:
restoring a previous course of the aircraft after the aircraft has avoided the potential object of collision.