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.

Description:
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 (V C ) 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 (t go ) to the closest point of approach based on current velocity and range profiles, the relative closing velocity (V C ) 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&#39;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&#39;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&#39;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&#39;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  P   OBJ,LV  and the velocity vector  V   OBJ,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 =  P     OBJ,LV   −  P     UAV,LV   Equation 2
 
         =  V   OBJ,LV   −  V     UAV,LV   Equation 3

     The line of sight angle vector  λ  is calculated by:
 
λ D =arctan( R   E   ,R   N )  Equation 4
 
λ E =arctan(− R   D ,√{square root over ( R   N   2   +R   E   2 )})  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, R N  is the north component of the range vector (shown in  FIG. 5 ), R E  is the east component of the range vector (shown in  FIG. 5 ) and R D  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 ( R   N   2   +R   E   2   +R   D   2 )}  Equation 7 
where R N  is the north component of the relative range, R E  is the east component of the relative range and R D  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 V C  and a time-to-go t go  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 t go  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 V C  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=           V C t go   2   Equation 10
 
where           is the relative range rate vector of UAV  102 , V C  is the closing velocity as calculated by Equation 8 and t go  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 n c  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 , ZEM Desired  is the desired zero effort miss, and t go  is the time to go as calculated in Equation 9 by the auto avoid monitor  122 . ZEM Desired  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.