Abstract:
A controller is described for limiting the rate and acceleration of a device positioned by at least one actuator which responds to a sequence of position commands separated by time intervals incorporating a subtractor for taking the difference of two consecutive position commands to provide a difference signal in vector form, means for determining the magnitude of the difference signal, a comparator for comparing the magnitude of the difference signal with a predetermined value, a switch for coupling the desired position command to the actuator at times the magnitude of the difference signal is less than or equal to the predetermined value, two dividers, two multipliers, an adder and normalizer for providing a new position command between the past command and the desired position command at times the magnitude of the difference signal exceeds the predetermined value. The acceleration is limited after the rate is limited by subtracting the latest position command from the prior position command to determine a new difference signal of the latest time interval which is subtracted from the difference signal of the previous time interval to determine the change in difference signal in vector form between two consecutive time intervals indicative of acceleration. A new position command is arithmetically generated by the use of a comparator, divider, two multipliers, two adders and a normalizer at times the magnitude of the change exceeds a predetermined value to provide a new position command which is both rate limited and acceleration limited. The invention overcomes the problem of actuators driving a device into gimbal stops and provides a means for damping device oscillations about a desired position.

Description:
GOVERNMENT CONTRACT 
     The Government has rights in this invention pursuant to Contract No. F33657-75-C-0310 awarded by the Department of the Air Force. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to controlling a device mechanically positioned by one or more actuators while limiting the maximum rate and acceleration of the device and more particularly to a controller which modifies the position commands directed to a mechanically scanned antenna to limit the maximum rate and acceleration of the antenna with respect to its supporting structure. 
     2. Description of the Prior Art 
     It is necessary to control the rate and acceleration demands on a device positioned by actuators in response to position commands to avoid damage to the device and to improve the performance and settling time. For example, an antenna on an aircraft may be directed at a target while the airplane is undergoing maneuvers such as a roll. Position commands to keep the antenna directed at the target may exceed the rate and acceleration capabilities of the actuators or high torque motors of the antenna causing the antenna to be directed somewhere in space other than at the target or desired position. If excessive rate or acceleration is achieved in trying to redirect the antenna to a desired position, the antenna may inadvertently hit or be driven into gimbal stops which may damage the antenna. Also, if the rate and acceleration of the antenna is not properly controlled, antenna performance may be degraded by oscillations of the antenna about a desired pointing direction or by excessive time in reversing the antenna direction. Radar acquisition time of a target can be lengthened by these physical oscillations. Oscillations of the antenna have been damped out in some prior art airborne radar systems by using fluid drive actuators to position the antenna. 
     In antenna drive systems of the prior art, gimbal limits in azimuth and elevation were provided to ensure that the antenna was positioned within predetermined angle limits. For example, FIG. 8 of U.S. Pat. No. 3,924,235, which issued on Dec. 2, 1975 to Robert I. Heller et al. and assigned to the assignee herein shows gimbal limits for a reflector of a cassegrain antenna system driven by an antenna drive unit 18 in FIG. 1. 
     In addition to having boundary limits for the operation of the antenna, a rate limit in azimuth was imposed to further prevent the antenna from hitting gimbal stops during dynamic maneuvers of the aircraft. 
     In addition, a reduced gimbal limit boundary has been imposed in prior systems to serve as a buffer zone or safety margin to prevent the antenna from striking the gimbal stops and mechanically damaging the antenna. The reduced gimbal limit boundary provides an undesirable trade-off between scan coverage by the antenna and protection of the antenna from damaging itself. 
     One example of an aircraft maneuver which imposes high dynamic rates on the antenna drive unit is when an airplane may be moving in the direction of its longitudinal axis while undergoing a roll, for example, 180° about the longitudinal axis. If the antenna is tracking a target at an angle off the longitudinal axis of the aircraft and close to the gimbal limits of the antenna prior to the roll maneuver, the antenna will move in an arc relative to its supporting members attached to the air frame as the airplane rolls. If the airplane rolls slowly, the antenna will track the target during the roll maneuver by the aircraft. As the pilot increases the rate of roll, the antenna will be driven faster and harder to maintain the antenna on the target. With increasing roll rate of the aircraft as controlled by the pilot, the antenna will fall behind the desired position of the target and will be driven harder to catch up to the target. The rate and acceleration of the antenna can exceed its mechanical control capabilities and the antenna may be driven into a gimbal stop due to its excessive velocity or due to the fact that the true position of the antenna is unknown since it already is lagging behind the desired position. When the pilot terminates a roll operation and the antenna catches up or reaches the desired position, the antenna velocity may carry the antenna beyond the desired point causing the antenna to oscillate about the point as it is driven in the direction of the desired point or target. 
     The antenna drive system may be an open loop system where the antenna is the recipient of a sequence of position commands without any feedback as to where the antenna is actually pointing prior to a position command. Alternatively, an antenna may have syncros positioned on the gimbal axes to determine accurately where the antenna is pointing. Normally in operation, the antenna pointing direction is determined in reference to target reflected signals which indicate the relationship of the antenna beam directed at the target and the line-of-sight of the target. In this situation, syncros would merely be helpful during dynamic maneuvers of the aircraft where the antenna is unable to be where it is commanded. 
     The path of a device such as a robot may be controlled by describing the path by a sequence of spaced-apart points to form line segments of equal length between the points. Precise control along the line segments is provided by interpolating additional points along the straight line segments for controlling the device along the straight line segments. U.S. Pat. No. 3,943,343, which issued on Mar. 9, 1976 to Akiyoshi Irie, entitled &#34;Program Control System for Manipulator&#34; describes such a system in FIGS. 3, 5A and 5B. 
     It is therefore desirable to provide a controller to control the path of an antenna or other device in an optimal manner by utilizing the sequence of position commands to derive direction and distance information. 
     It is further desirable to limit both the rate and acceleration demands on actuators such as the azimuth and elevation servos. 
     It is further desirable to smoothly slow a device with its oscillations damped before passing a desired point or a gimbal boundary by adjusting the rate and acceleration limits. 
     It is further desirable to control the path of a device without requiring the generation of trigometric functions to determine the path with respect to azimuth and elevation directions, for example. 
     It is further desirable to stop a device such as an antenna before reaching a selected point instead of passing the point to build up an error signal to stop the antenna. 
     It is further desirable under severe dynamic conditions such as when an airplane rolls, that the antenna is steered on an optimum recovery path away from gimbal boundaries and in the direction of the desired point. 
     It is further desirable that the controller would modify the antenna position commands only at times when acceptable rates and accelerations exceed desired levels. 
     It is further desirable to direct the path of a device such as an antenna along a shortened route within acceptable rates and accelerations to reach a desired position. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, apparatus and methods are described for controlling a device mechanically positioned by actuators in response to a sequence of position commands which may at times exceed predetermined rate limits of the device by subtracting two consecutive position commands to provide a difference signal indicative of direction and distance, comparing the magnitude of the difference signal with a predetermined constant and coupling the latest position command to the actuator at times the magnitude of the difference signal is less than the predetermined constant, and at other times generating a first signal as a function of the magnitude of the difference signal, multiplying the difference signal by the first signal to provide a smaller difference signal, adding the smaller difference signal to the first direction signal to form a third direction signal, adjusting the magnitude of a third direction signal to a predetermined magnitude, and coupling the third direction signal to the actuators at times the magnitude of the difference signal is greater than the predetermined constant. 
     The invention further provides an apparatus and method for limiting the acceleration of a device mechanically positioned by at least one actuator in response to a sequence of position commands comprising the steps of receiving first, second and third consecutive position commands at predetermined time intervals, converting the first, second and third commands to first, second and third direction signals having a predetermined magnitude, subtracting the first and second direction signals to provide a first difference signal indicative of the change in position during said predetermined time interval, subtracting the second and third direction signals to provide a second difference signal indicative of the change in position during said predetermined time interval, subtracting the first and second difference signals to provide a first acceleration signal, comparing the magnitude of the first acceleration signal with a predetermined constant, coupling the third direction signal to the actuator at times the magnitude of the first acceleration signal is less than the predetermined constant, generating a first scaling signal as a function of the magnitude of the first acceleration signal, multiplying the first acceleration signal by the first scaling signal to provide a smaller first acceleration signal, adding the smaller first acceleration signal to the first difference signal to form a third difference signal, adding the third difference signal to the second direction signal to form a fourth direction signal, arithmetically adjusting the magnitude of the fourth direction signal to a predetermined magnitude, and coupling the fourth direction signal to the actuator at times the magnitude of the first acceleration signal is greater than the predetermined constant. 
     The invention further provides a method for limiting the acceleration of a device mechanically positioned by at least one actuator in response to a sequence of position commands by taking the difference of consecutive position commands to determine the velocity between consecutive positions, taking the difference of the velocity between three adjacent time intervals to determine the change in acceleration passing from a first time interval to a second and from a second to a third, comparing the change in acceleration with a predetermined limit value. The third position command may be used if the acceleration is less than the limit value and a new third position command may be generated if the acceleration value is exceeded. The new position command is positioned closer to the second position command so that the acceleration is reduced to be equal to or less than the maximum acceleration limit. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of one embodiment of the invention; 
     FIG. 2 is a graph illustrating the operation of a portion of FIG. 1; 
     FIGS. 3A through 3G are graphs illustrating the operation of FIG. 1; 
     FIGS. 4 and 5 provide variable rate and acceleration limits to the embodiment of FIG. 1; 
     FIGS. 6 and 7 are graphs showing the response of an antenna to position commands utilizing the embodiment of FIG. 1 compared to a response without the embodiment of FIG. 1; 
     FIG. 8 is a graph showing the response of an antenna to position commands utilizing the embodiment of FIG. 1 at two antenna rate limits; 
     FIGS. 9 and 10 are graphs showing the response of an antenna to position commands utilizing the embodiment of FIG. 1; 
     FIG. 11 is a graph showing the response of an antenna to position commands utilizing the embodiment of FIG. 1; and 
     FIG. 12 ia a graph showing the response of an antenna to position commands without the embodiment of FIG. 1. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to the drawing, and in particular, to FIG. 1, a radar 10 is shown in block diagram form comprising a controller 11 which receives antenna position commands from antenna position command register 29 over line 12. Controller 11 functions to provide antenna position command signals on output line 13 to an input of antenna drive unit 14. Antenna drive unit 14 functions to position antenna 15 in azimuth and elevation with respect to axes 16 and 17, respectively, in response to position commands on line 13. Axes 16 and 17 may be referenced with respect to the supporting structure of the antenna or the antenna drive unit 14, for example, such as by gimbals. Controller 11 functions to limit the spacing and direction of position commands occuring at predetermined time intervals such that antenna 15 is controlled in its velocity and acceleration with respect to the antenna drive unit 14. 
     FIG. 1 shows other components of a typical radar which function in a normal manner such as transmit receive unit 18 which is coupled over line 19 to antenna 15. Transmit/receive unit 18 is coupled over line 20 to an input of tracking error detector 21 which functions to determine the angle between the boresight of antenna 15 and the line-of-sight to the target. The angles ε A  and ε E  are fed over line 22 to an input of computer 23. 
     Computer 23 is supplied with information over line 24 from aircraft attitude signal generator 25 which supplies the aircraft attitude information, angles ψ, θ and φ to computer 23 with respect to a stable coordinate system such as north, east, south and west. Computer 23 supplies information over line 26 to pilot display and control 27 which enables the pilot to observe the display and operate radar 10. Computer 23 functions to provide a sequence of antenna position commands spaced apart by predetermined time intervals which are coupled over line 28 to antenna position command register 29. It is understood that antenna 15 may be a &#34;non-cassegrain&#34; or a cassegrain antenna system wherein the angle errors supplied from computer 23 to antenna position command register 29 are angles for the reflector of the cassegrain antenna. Reference is made to U.S. Pat. No. 3,924,235, which issued on Dec. 2, 1975, entitled, &#34;Digital Antenna Positioning System and Method&#34; by Robert I. Heller et al. and assigned to the assignee herein which is incorporated herein by reference to show the operation of components of a typical radar system and their structure to provide angles or position commands to an antenna drive unit which positions the antenna or the antenna&#39;s reflector if its a cassegrain antenna. 
     The antenna position commands held in antenna position command register 29 provide the line-of-sight direction for antenna 15 with respect to its gimbal mounting axes 16 and 17. As shown in FIG. 1, antenna 15 has axes 16 and 17 which provide the antenna with two degrees of freedom. 
     Referring to FIG. 2, a graph is shown wherein the Z axis can be said to be aligned with axis 16 of the antenna and the -Y coordinate is aligned with axis 17 of antenna 15. The coordinate X is orthogonal to the Y and Z axis. The Y and Z coordinate may be said to be in the plane of antenna 15 and the X coordinate is in the direction of microwave radiation. 
     The position of antenna 15 may be expressed using the X, Y and Z coordinates. If a vector of unit length is selected, then any direction in space from antenna 15 can be expressed by a point on a hemisphere having its radius of unit length and having its center at the intersection of the X, Y and Z coordinates. The movement of antenna 15 may be expressed by great circle lines or arcs on the hemisphere from point-to-point as the antenna sequences through a plurality of position commands. In FIG. 2, the intersection of the hemisphere with the coordinates X and Z is shown by curve 35 and with coordinates -Y and Z by curve 36. Curves 35 and 36 pass through the value 1 at the X, -Y and Z coordinates. 
     An antenna position command stored in register 29 at time T n  may be represented as a direction signal having a predetermined magnitude shown in FIG. 2 by arrow or unit vector 37. A previous antenna position command at time T n-1  is shown by unit vector 38 in FIG. 2. Vector 37 may be expressed as V DESIRED  and vector 38 may be described as V out .sbsb.old. The difference between the two vectors 37 and 38 are expressed in equation 1 provides the difference vector D. 
     
         D=V.sub.DESIRED -V.sub.out.sbsb.old                        (1) 
    
     The difference vector D is shown in FIG. 2 as vector 39. The difference vector 39 points in the desired direction of movement of the antenna and the length of the difference vector 39 is proportional to the rate of movement when examined at small fixed increments of time such as every five milliseconds. If the time increments or time intervals are known between position commands, then the rate of movement of the antenna pointing direction may be controlled by limiting the length of the difference vector 39. For small angles, the distance traversed on the unit sphere is sin θ which may be approximated by the angle θ itself expressed in radians. The rate of movement can be controlled by limiting the distance between position commands while the direction is maintained towards the desired position along the great circle of a hemisphere between the two position points. 
     Referring to FIG. 2, the maximum distance for a given time interval may be expressed as sin θ max . If the magnitude of the difference vector 39 is less than or equal to sin θ max , then the distance travelled in a given time interval will be less than the maximum rate and the position command is acceptable as is to be supplied directly to antenna drive unit 14. If, however, the magnitude of the difference vector 39 is greater than sin θ max , then the length of the difference vector must be shortened or scaled by a factor while the direction of difference vector 39 is preserved. Equation 2 shows that the length f of the difference vector 39 may be determined if the angle φ is known. φ is the angle between vector 39 and a unit vector 41 originating at 0,0,0 and passing through vector 39 a distance sin θ max  from the last position command. Sin θ max  had been added to vector 38 and lies on the great circle above vector 39. In FIG. 2 angle φ  is shown by arrow 43 and angle θ max  is shown by arrow 45. 
     Length f may be calculated using equation (2). ##EQU1## The value of 1/sin φ may be approximated by the relationship shown in equation 3. ##EQU2## The relationship in equation 3 is accurate for small angles θ C , the angle between unit vectors 37 and 38, and becomes conservative or a little smaller than the actual value when the angle θ C  is large. Angle θ C  is shown by arrow 44 in FIG. 2. Length f shown by reference numeral 40 may be divided by the magnitude of the difference vector 39 to provide a scaling factor &#34;a&#34; as expressed in equation 4. ##EQU3## A new position command shown by vector 41 is generated by adding to vector 38 the length f or vector 40 which is normalized to a unit length to form new vector 41. The new position command vector 41 is substituted in place of vector 37 to the antenna drive unit 14 which results in a distance sin θ max  shown by vector 42 travelled by the antenna during the time interval between the old command and the new command. Since a portion of the difference vector, length f, is added to vector 38, the rate of movement of the antenna is uniformly limited in all directions without regard to azimuth or elevation axes 16 and 17. 
     Referring to FIG. 1, the rate of movement of antenna 15 is determined by rate limiter 55 of controller 11. Adder/subtractor 56 has a first input on line 12 and a second input on line 57 having an output coupled over line 58 to vector magnitude 59 and to a first input of multiplier 60. The output of vector magnitude 59 is coupled over lead 61 to a first input of comparator 62 having a second input coupled over lead 63 to a voltage source 64 having a value indicative of sin θ max . The output of comparator 62 is coupled over lead 65 to one input of solenoid 66 having its other side coupled to ground which is mechanically coupled to a single pole, double throw switch 67. It is understood that solenoid 66 and single pole, double throw switch 67 are shown for illustrative purposes and that field effect transistors or other suitable switching circuits may be used in their place. At times when the voltage on lead 63 exceeds the voltage on lead 61, the output of comparator 62 will be high and switch 67 will be activated to couple line or lead 12 to lead 68. When the voltage on lead 63 is less than the voltage on lead 61, then the output of comparator 62 will be low and switch 67 will have lead 69 coupled to lead 68. Lead 61 is coupled to an input of divider 73 having an output coupled over lead 74 to a first input of multiplier 75. Lead 61 is also coupled to arithmetic unit 77 which has an output coupled over lead 78 to a second input of multiplier 75. Lead 63 is coupled to a second input of arithmetic unit 77. The output of multiplier 75 is coupled over lead 80 to an input of multiplier 60. The output of multiplier 60 is coupled over lead 81 to an input of adder 82. A second signal on lead 57 representative of the old or last position command shown as vector 38 in FIG. 2 is coupled to a second input of adder 82. The output of adder 82 is coupled over lead 83 to an input of normalizer 84. The output of normalizer 84 is coupled over lead 69 to one side of switch 67. 
     In operation of rate limiter 55, the last position command is provided on line 57 and subtracted from the latest antenna position command by subtractor 56. The output of subtractor 56 is a quantity indicative of the difference between the two commands which may be in vector form or indicative of the direction from the older antenna position command to the latest antenna position command. The magnitude of the difference signal on line 58 is determined by vector magnitude 59 which determines the magnitude of the difference signal on line 58 irrespective of direction. Vector magnitude 59 may, for example, perform the square root of the sum of the squares of the value for each coordinate axis where D is a vector. The output of vector magnitude 59 is compared by comparator 62 with a signal indicative of sin θ max , the acceptable length of movement of antenna 15 over a given interval of time. If the difference vector is less than or equal to the length sin θ max  then the output of the comparator 65 will couple lead 68 to lead 12. If the difference vector is greater than sin θ max  indicated by the voltage on lead 63, then the comparator will couple lead 69 to lead 68. 
     A modified position command is generated by dividing the magnitude of the difference vector into 1 by divider 73. The acceptable portion, length f of the difference vector D is determined in arithmetic unit 77 which determines sin θ/sin φ to provide an input to multiplier 75. The output of multiplier 75 provides a scaling factor &#34;a&#34; to be multiplied with the difference vector in multiplier 60 to provide a shortened difference vector which is subsequently added to the old position command on line 57 as shown in equation 5. ##EQU4## The new vector on line 83 is normalized by normalizer 84 to provide a unit vector on line 69 which moves the antenna angularly towards the desired position but by a shorter angular distance than the desired angular distance to provide angular rate limiting to antenna 15. 
     The output of rate limiter 55 is supplied to acceleration limiter 90 of controller 11. Acceleration limiter 90 limits the acceleration by limiting the change of velocity of antenna 15 from one time interval to the next. Referring to FIGS. 2 and 3A, the present position command at time T n  is unit vector 41. The past position command at time T n-1  is unit vector 38 in FIG. 3A as well as FIG. 2. The difference between unit vectors 38 and 41 is shown in FIGS. 3A and 2 as vector 42. Vector 42 represents the antenna velocity since it represents the change of antenna position during the time interval between the two position commands. An earlier position command at time T n-2  is shown in FIG. 3A by unit vector 91. The difference between unit vector 38 and unit vector 91 is shown in FIG. 3A as vector 92. Vector 92 represents the antenna velocity since it represents the distance the antenna travelled between time T n-2  and T n-1 . The length of vector 42, D n  &#39;, is expressed in equation 6 and the length of vector 92, D o  &#39;, is expressed in equation 7. 
     
         D.sub.n &#39;=V.sub.T.sbsb.n-1 -V.sub.T.sbsb.n =V.sub.out.sbsb.old -V.sub.out ( 6) 
    
     
         D.sub.o &#39;=V.sub.T.sbsb.n-2 -V.sub.T.sbsb.n-1               (7) 
    
     Since the length of each vector 92 and 42 represents angular rate or velocity during two consecutive time intervals, the difference of vector 42 and 92 represents the acceleration of antenna 15 passing from time interval T n-2  to T n-1  to the time interval from T n  to T n . The acceleration is expressed by equation 8 and shown graphically in FIG. 3B. 
     
         A=ΔD=D.sub.n &#39;-D.sub.o &#39;                             (8) 
    
     If the acceleration ΔD is less than a predetermined constant Δ max , then the position command at time T n , unit vector 41 is within acceleration limits and vector 41 may be coupled to antenna drive unit 14 through switch 97. If the acceleration ΔD exceeds a predetermined maximum value, Δ max , then the position command at time T D , unit vector 41, should be modified to provide a new position command to bring the acceleration equal to or less than the maximum allowable acceleration. The magnitude of the acceleration is compared to the magnitude of the maximum acceleration limit Δ max  to provide a scaling factor which is multiplied by the acceleration vector to provide a shortened acceleration vector k ΔD as expressed in equation 9. 
     
         D.sub.n &#34;=D.sub.o &#39;+kΔD where k=Δ.sub.max |ΔD|=Δ.sub.max /D.sub.n &#39;-D.sub.o &#39;(9) 
    
     The permissible difference in position or the output of equation 9 is shown by vector 93 in FIGS. 3A and 3C. The difference vector 93 is added to the prior position command vector 38 and normalized to provide a new unit vector 94, V out .sbsb.new as expressed in equation 10. ##EQU5## 
     FIG. 3D shows two consecutive unit vectors 187 and 188. Circle 189 having a radius sin (θ max ) and a center at unit vector 187 shows the limits for the next unit vector having a rate equal to or less than sin (θ max ). Unit vector 188 falls within circle 189 and therefore has an acceptable rate limit. The difference between vectors 187 and 188 is shown by vector 191 which represents the velocity D o  &#39;. With two prior position commands provided the next position command must fall within acceptable rate limits shown by circle 192 having a radius 193 equal to sin (θ max ) originating from unit vector 188. The next unit vector must also be within acceptable acceleration limits expressed by equation (8) where the acceleration must be less than Δ max  shown by a vector 194 added to a vector 195. Vector 195 is equal to vector 191 and originates from unit vector 188. Vector 195 represents the same velocity vector as velocity vector 191 and vector 194 represents the maximum change of velocity. The new vector D n  &#39; is allowable so long as it falls within circle 196 having a radius of 194 originating from the end of vector 195. In other words, once vectors 187 and 188 are provided the next unit vector allowable must fall within circle 192 to be adequately rate limited and within circle 196 to be adequately acceleration limited. Circles 189, 192 and 196 fall on the surface of a unit sphere extending from the coordinates X, Y and Z and 0,0,0. 
     Referring to FIG. 3E, the next position command unit vector 197 occurring at time T n  fell within circle 192 and circle 196 and therefore was acceptable as is. The next position command at time T n+1  must first occur within circle 198 having a radius 199 originating from unit vector 197. Radius 199 is equal to sin (θ max ). Also, the new position command at time T n+1  must fall within circle 200 having the radius shown by vector 201 added to vector 202. Vector 201 or the radius is equal to Δ max  which is the maximum acceleration allowable. The velocity vector between unit vector 188 and 197 is shown by vector 203. Vector 202 is equal to vector 203 but has its origin at unit vector 197. The position at the end of vector 202 represents zero acceleration since the difference of vector 202 from vector 203 would be zero. Vector 201 represents the allowable acceleration, and so long as the next position command falls within circle 198 and within circle 200, no rate or acceleration limiting will be required. 
     FIG. 3F shows a sequence of position commands where rate and acceleration limiting is required. Unit vector 205 represents the desired position command occurring at time T n . The prior position command unit vector 188 is subtracted from the new position command vector 205 to provide vector 206 which is vector D in equation (1). Since vector 206 exceeds radius 193, vector 206 is shortened by constant A given in equation 4 to provide a shortened vector aD 207 which is added to unit vector 188 to provide a new position command 208 in accordance with equation (5). Position command 208 having been rate limited is next tested to see whether it falls within the acceleration limits Δ max . Unit vector 191 is subtracted from unit vector 207 which results in vector 209, ΔD originating from the end of vector 195. Since vector 209 exceeds radius 194, position command 208 must be acceleration limited. A portion of unit vector 210 corresponding to kΔD is added to unit vector 195 to provide vector 211 D n  &#34; in accordance with equation (9). Vector 211 is added to unit vector 188 and normalized to be a new unit vector 212 which is both rate limited, falling within or on circle 192 and acceleration limited, falling within or on circle 196. The next position command subsequent to unit vector 212 must fall within circle 214 having a radius 215 originating from unit vector 212. Radius 215 has a value of sin (θ max ). The next position command must fall within or on circle 216 to be acceleration limited which has a radius 217 equal to Δ max  originating at the end of vector 218 which has the same magnitude as vector 211 but is added on to unit vector 212. 
     FIG. 3G shows a sequence of position commands where rate limiting is not required but acceleration limiting is required. In FIG. 3G a new position command given by the vector 220 occurs at time T n  which follows position command 188 at time T n-1 . As can be seen, the end of unit vector 220 is within circle 192 and therefore does not require rate limiting since the change of position is less than sin (θ max ) shown by radius 193. Unit vector 220, however, does require acceleration limiting since unit vector 220 is outside circle 196 having a radius 194 representing the acceptable acceleration Δ max . The difference between unit vector 188 and unit vector 220 as given by equation (7) is vector 221. The difference between vector 221 and vector 191 in accordance with equation (8) is vector 222. A constant k times the length of vector 222 yields vector 223 which is a portion of vector 222 and corresponds to a length Δ max  in amplitude and having the direction of vector 222. Adding vector 223 to vector 191 which is the same as vector 195 yields vector 224, D n  &#34; in accordance with equation (9). Adding vector 224 to the last position command, vector 188, provides a new position command at time T n , unit vector 225 which meets the acceleration limits Δ max . The next position command must fall within circle 214 having a radius 226 of the value sin (ι max ) to be within acceptable rate limits. In addition, the next position command at time T n+1  must be within or on circle 227 having a radius 228 of the magnitude Δ max . Radius 228 originates at the end of vector 229 which has the same amplitude and direction as vector 224 which is added at the end of unit vector 225. If the next position command is outside of circle 214 or of circle 227, then rate limiting or acceleration limiting will again need to be applied to derive a position command within both circles 214 and 227. As can be seen from FIG. 3G rate limiting occurs in the direction of the velocity and acceleration limiting occurs in the direction of the acceleration dictated by the original unacceptable position command. It is understood that the locus of points of circles 189, 192, 214, 196 and 227 occur on or close to the surface of a unit sphere originating from coordinates 0,0,0. It is understood that position commands such as unit vectors 187, 188 and 225 are renormalized after calculations so that the unit vector is indeed a unit vector occurring on unit sphere from coordinates 0,0,0. 
     FIGS. 3A through 3G show that the acceleration is uniformly limited in all directions while the direction of movement of the antenna is always towards the desired position command. The distance towards the desired position command is always some increment of the total distance as expressed by the great circle path on a unit sphere. It is apparent that the approach applied to provide rate limiting and acceleration limiting may be applicable to more generalized situations where the path traversed is no longer along the surface of a unit sphere but along a topological surface which is formed by position vectors in an appropriate coordinate system. 
     Acceleration limiter 90 shown in FIG. 1 receives a position command at time T n  from rate limiter 55 on line 68 which is coupled to an input of adder 96 and to one side of switch 97 which is a single pole, double throw switch. Switch 97 couples a position command signal on to line 13 as an output of acceleration limiter 90. The position command on line 13 is coupled to an input of delay 98 which may, for example, be a shift register and to an input of adder 99. Delay 98 functions to provide at its output a prior position command signal such as at time interval T n-1  set in by clock signal φ 2 . The output of delay 98 is coupled over line 57 to an input of adder 99 and to an input of adder 96. Adders 99 and 96 may function as subtractors to take the difference of the two input signals. The output of adder 96 is coupled over line 105 to an input of adder 106. The output of adder 99 is coupled over line 107 to an input of delay 108 which may, for example, be a shift register. The output of delay 108 which may, for example, have a time delay of one time interval, is coupled over line 109 to an input of adder 106 and an input of adder 107. The output of delay 108 represents the difference vector between two position command signals occurring at times T n-2  and T n-1 . The output of adder 96 provides the difference of two position command signals one from the output of rate limiter 55 at time T n  and the other from the output of acceleration limiter 90 at time T n-1 . The output of adder 106 provides the change between the two difference vectors D n  &#39; and D o  &#39; and represents the change in rate of antenna 15 from a first time interval to a second time interval. The first time interval corresponding to the interval between time T n-1  and T n-2 . The second time interval corresponds to the time between T n  and T n-1 . The output of adder 106 is coupled over line 111 to an input of vector magnitude 112 and an input of multiplier 114. Vector magnitude 112 functions to provide the magnitude of the input signal on line 111 which may be in vector form. The output of vector magnitude 112 is coupled over line 116 to an input of comparator 117 and an input of divider 118. The output of divider 118 is coupled over line 119 to an input of multiplier 122. Voltage source 120 which may have a voltage representative of the maximum acceleration, Δ max  is coupled over line 121 to an input of comparator 117 and an input of multiplier 122. The output of comparator 117 is coupled over line 123 to solenoid 124 which activates switch 97. If the signal on line 116 is equal to or less than the signal on line 121, then the output of the comparator 117 will be high and solenoid 124 will cause switch 97 to be positioned such that line 68 is coupled to line 13. If the voltage on line 116 is greater than the voltage on line 121, then the output of comparator 117 will be low and solenoid 124 will cause switch 97 to be in a position to couple line 125 to line 13. The output of multiplier 122 which represents a proportionality constant k is coupled over line 126 to an input of multiplier 114. The output of multiplier 114 is coupled over line 127 to an input of adder 107. The output of adder 107 is coupled over line 128 to an input of adder 129. Adder 129 has a second input coupled over line 57. The output of adder 129 is coupled over line 130 to an input of normalizer 131. The output of normalizer 131 is coupled over line 125 to one side of switch 97. 
     In operation, accelerator limiter 90 receives the current antenna position command on line 68 from rate limiter 55. The previous antenna position command on line 13 at time T n-1  is stored in delay 98 and provided on line 57. The antenna position commands on line 68 and 57 are subtracted from one another to provide a difference vector on line 105 which is representative of vector 42 D n  &#39; in FIG. 3A. Two previous position commands at times T n-2  and T n-1  which were on line 13 are subtracted in adder 99 to determine the difference vector D o  &#39; which corresponds to vector 92 in FIG. 3A. The difference vector is stored in delay 108 and is provided on line 109 to adder/subtractor 106 which determines the acceleration or difference between the difference vectors D n  &#39; and D o  &#39;. The difference corresponds to the subtraction of vector 42 and 92 in FIG. 3B. The magnitude of the difference ΔD is determined in vector magnitude 112. The magnitude of ΔD is indicative of the acceleration through which the antenna would experience if the antenna position command at time T n  on line 68 is coupled to the antenna drive unit 14. The maximum allowable acceleration Δ max  is determined by the voltage from voltage source 120 which is compared with the magnitude of the acceleration. If the acceleration is less than or equal to the maximum allowable acceleration then the antenna position command on line 68 is coupled to the antenna drive unit 14. However, if the acceleration on line 116 is greater than the maximum allowable acceleration, then further processing is required to generate a position command within acceptable acceleration limits. 
     The magnitude of the acceleration signal ΔD is divided into the maximum allowable acceleration Δ max  to provide a constant k on line 126. The constant which is less than one is multiplied by the acceleration vector ΔD to provide a shortened or lesser acceleration vector on line 127. Adder 107 adds the acceleration vector kΔD to the difference vector D o  &#39; to provide D N  &#34;, vector 93 shown in FIG. 3C. The output of adder 107, D N  &#34; is added to antenna position command at time T n-1 , vector 38, to provide a modified antenna position command vector 94 at time T n  which will limit the acceleration of the antenna. The antenna position command is normalized by normalizer 131 to provide a unit direction vector 94&#39; on line 125 which is coupled through switch 97 to line 13. 
     The antenna response may be further modified by treating the constants sin θ max  and Δ max  as variables. The antenna may be damped or slowed down as it arrives to a desired position by storing the prior unlimited position command signals on line 12 of FIG. 1 and deaccelerating antenna 15 by reducing Δ max  as a function of the distance from the desired position command or gimbal boundary. 
     Referring to FIG. 4, two antenna position commands are received on line 12 which pass through delay 140 which may have a time delay of one time interval. The difference between two consecutive position command signals are determined in adder/subtractor 141. The output of adder 141 is an indication of the difference between two position commands separated by a time interval. The output of adder 141 is coupled over line 142 to vector magnitude 143 which determines the magnitude of the difference vector on line 142. The magnitude of difference vector is provided over line 144 to rate control 145 and acceleration control 146. Rate control provides a voltage as a function of the signal on line 144 indicative of sin θ max  on its output line 63&#39;. Line 63&#39; may be substituted for line 63 and voltage source 64 in FIG. 1. Acceleration control 146 provides an output signal Δ max  which is a function of the signal on line 144. The output of acceleration control 146, line 121&#39; may be substituted in place of voltage source 120 and line 121 in FIG. 1. By using the apparatus in FIG. 4, θ max  and Δ max  may be a variable having a value as a function of the difference between two position commands on line 12 of FIG. 1. 
     The final position commands on line 12 may be initially processed to provide the axial component such as in the YZ plane. The axial component may indicate gimbal limits and can be used for input to rate control 145 and acceleration control 146. The axial component may be preferable to use to slow the antenna when approaching a gimbal boundary. 
     Referring to FIG. 5, an alternate arrangement is shown where the signal on line 61 from FIG. 1 is used as an input to rate control 145 and acceleration control 146. The signal on line 61 is indicative of the magnitude of the difference between the last antenna position command to the antenna and the unlimited desired position command on line 12. 
     A computer simulation was performed simulating the embodiment of FIG. 1 to compare the performance of the embodiment of FIG. 1 with other techniques for preventing the antenna from hitting the gimbal stops. FIGS. 6 and 7 are graphs showing the response of an antenna to a sequence of position commands utilizing the embodiment of FIG. 1 compared to a response utilizing independent rate limiting in elevation and azimuth. In FIGS. 6 and 7, the ordinate represents direction along the Z coordinate or elevation and the abscissa represents the direction along the -Y coordinate or azimuth. The simulation of FIGS. 6 and 7 are for an antenna mounted in the nose of an aircraft which rolls about its longitudinal axis while the antenna is directed at a forward target at an angle off the longitudinal axis of the airplane. Initially, the antenna is at a wide angle in a space stabilized mode directed at a target or point and then attempts to stay on the point during the roll of the aircraft about its longitudinal axis. Under these conditions, the antenna servos are being commanded at high rates in azimuth and elevation simultaneously. Under this condition, an azimuth and elevation rate limiter will saturate in both azimuth and elevation. The antenna is driven as shown by curve 150 in a straight line. If the rate in azimuth and elevation does not become unsaturated before approaching the gimbal limit, the momentum or inertia of the antenna could cause the antenna to hit the gimbal stop at point 151. In any case, the antenna is not in an optimum position for recovery to the desired position. In FIGS. 6 and 7, curve 149 shows the desired sequence of antenna position commands on line 12 of FIG. 1. The letter D shows each position command of a sequence on line 13 of the embodiment of FIG. 1. The letter A forming curve 150 shows the sequence of antenna position commands for independent azimuth and elevation rate limits, a technique previously applied to control the antenna. In FIGS. 6 and 7, the aircraft rolled at a rate of 170° per second. Referring to FIG. 6, point 151 on curve 150 shows that the independent azimuth and elevation rate limiter technique would be beyond timely recovery to respond to the corner in its calculated path because of acceleration limits and inertia of the antenna, but curve 152 has already moved to the inside, away from the gimbal stop always towards the desired point shown by the asterisks of curve 149. Point 153 on curve 150 shows that the azimuth-elevation limiter had lost its direction towards a desired point. 
     FIG. 7 shows the simulation carried out for a longer time period with the airplane continuing to roll at 170° per second. Point 154 on curve 150 shows that the antenna having independent azimuth and elevation rate limits has undergone a recovery in direction trying to pursue the desired position command. Curve 152 shows that the antenna is moved in pursuit towards the desired position command without travelling into the gimbal stops. FIG. 8 is a hand generated graph showing the response of an antenna to position commands utilizing equations 1 to 5. In FIG. 8, the ordinate represents elevation and the abscissa represents azimuth. In FIG. 8, the antenna position is originally at point 155 while the aircraft rolls about its longitudinal axis as in FIGS. 6 and 7. Curve 156 shows the sequence of target positions as the airplane makes its maneuver. Curve 157 shows the sequence of antenna position commands on line 13 from the embodiment of FIG. 1 during the aircraft maneuver. Curve 158 shows the path of the sequence of antenna position commands when the aircraft roll rate is increased by a factor of five. Curve 159 shows the sequence of antenna position commands when the rate of antenna movement is unlimited. As can be seen by curve 159 with an unlimited rate, the antenna is commanded in the wrong direction and would hit the gimbal stop. As the rate of traversing an arbitrary path using the embodiment of FIG. 1 increases, the antenna position commands on line 13 direct the antenna to cut more sharply across the corner, always maintaining the direction towards the desired point. 
     FIGS. 9 and 10 are graphs showing the response of an antenna to a sequence of position commands. In FIGS. 9 and 10, the ordinate represents elevation and the abscissa represents azimuth with the center of the graph corresponding to the position of the longitudinal axis of the aircraft which is orthogonal to the ordinate and abscissa. In FIG. 9, the antenna is positioned towards a target at a 55° aspect angle to the longitudinal axis. As the airplane rolls about its longitudinal axis, the antenna is positioned to avoid the gimbal stops. In FIGS. 9 and 10, curve 162 formed by the asterisks represent the sequence of desired position commands, curve 163 formed by the T&#39;s represent the sequence of positions of the antenna. Curve 164 formed by the D&#39;s represent the sequence of position commands utilizing the embodiment of FIG. 1. 
     FIG. 10 shows the antenna at a 55° aspect angle without the embodiment of FIG. 1 where the antenna is shown hitting the gimbal stops as the airplane rolls about its longitudinal axis. 
     The antenna has no rate limit in elevation and a 400°/second rate limit in azimuth. The gimbal stops are at 60° aspect angle while the position commands are limited to a maximum aspect angle of 58.5° to provide a buffer zone. Since a unit direction vector is used, the projection of the gimbal stop on the graph of FIGS. 9 and 10 for an aspect angle of 60° is sin 60° or 0.866. The projection of the buffer zone on FIGS. 9 and 10 for an aspect angle of 58.5° is sin 58.5 or 0.853. 
     FIG. 11 is a graph showing the response of an antenna to position commands utilizing the embodiment of FIG. 1. In FIG. 11, the ordinant represents elevation and the abscissa represents azimuth where the longitudinal axis of the airplane passes through the center of the graph orthogonal to the ordinate and abscissa. FIG. 11 shows a case where the antenna is commanded to a position from boresight which normally is aligned with the longitudinal axis of the aircraft. Therefore, in FIG. 11, the antenna was originally positioned as shown by point 179 at the center of the graph and approaches a point in space 180 along curve 181. 
     In contrast, FIG. 12 is a graph showing response of an antenna to position commands without the use of the embodiment of FIG. 1. In FIG. 12, the ordinant represents elevation, Z axis, and the abscissa represents azimuth, -Y axis. The antenna as originally positioned on boresight at point 182 and is directed to a point in space at point 183. The actual sequence of antenna positions are shown by curve 185, the sequence of letter T&#39;s on the graph. As can be seen, the antenna is rate limited in the azimuth direction while unlimited in the elevation direction, therefore, the rate in the elevation direction far exceeds the rate in the azimuth direction causing the antenna to reach the elevation coordinate value at point 184 followed by a time interval when the antenna is moved in the azimuth direction to point 183. FIG. 11 shows the antenna moving directly to the desired point 180. In FIG. 12, the antenna actually travels further in reaching point 183 and depending on the maximum rates which may be unlimited in FIG. 12, the antenna may actually take more time and traverse a longer path in reaching point 183 and oscillate before settling. 
     An apparatus and method has been described for controlling the point-to-point positioning of a device such as an antenna by controlling the position commands and the space therebetween to limit the rate of movement and the acceleration of the device by repositioning or substituting position commands. To limit the rate, the substituted position command is between the desired point and the past position command so that the antenna always moves in the desired direction but the distance moved is limited which thereby limits the rate of movement. The acceleration of the antenna is controlled by limiting the change in rate permissible by substituting a position command having acceptable rate changes. The rate of change may be longitudinal or lateral to the past movement. A unit vector was described for each position command having a locus of points on a hemisphere representing a direction in space emanating from the center of the hemisphere. The direction of travel was determined by subtracting the position command unit vector from one another to determine movement along a great circle path on the hemisphere. An apparatus and method for damping the movement of an antenna was also described wherein the maximum rate and maximum acceleration limits were made variables to slow the antenna down as it reached a desired position thereby preventing its oscillation about the desired position.