Abstract:
An arrangement for coordinating positional and angle information made on separate relatively moving platforms, such as aircraft, having independent coordinate systems, uses measurements of a common reference made on both platforms. The measurements are transmitted to a common location. Measurements made at a first time are processed to determine two of three coordinate transformation angles. After a period of time, a second set of measurements is used to determine the third coordinate transformation angle. In a particular embodiment of the invention, the direction of motion of one of the platforms is controlled to be orthogonal to a coordinate axis of the other platform. When the coordinate transformation is determined, it can be used to coordinate or align navigation instruments, weapons, or the like. In one embodiment of the invention, a missile is directed toward a target, in a situation in which the target is viewed from the missile and another moving vehicle.

Description:
FIELD OF THE INVENTION 
     This invention relates to determining the position and attitude of objects moving relative to each other, and, more particularly, to missile guidance, aircraft navigation and traffic control, terrestrial transportation and guidance, and the like. 
     BACKGROUND OF THE INVENTION 
     The processes which are ordinarily used to precisely align two (or more) remotely located objects, such as radar installations, or inertial sensor reference frames, such as may occur on moving aircraft or missiles, are typically achieved by cumbersome calibration. Over time, and in response to normal environmental conditions, system alignment knowledge may be degraded as a result of uncompensated motion. 
     In the presence of certain combinations of motion, whether that motion is rapid or slow, it may be not be possible to determine how the an object reference frame has rotated relative to the reference frame of another object. Existing calibration methods may require optical or radio frequency hardware, which may decrease reliability, and may be restricted to obtaining only the alignment angles perpendicular to the object&#39;s boresight or line of sight. Rotational orientation of a remote object may not be observable from the observation location. Large errors in the rotation between the lines-of-sight extending between the separate coordinate systems of two objects may contribute to erroneous position determinations. 
     Improved methods for position andor attitude determination are desired. 
     SUMMARY OF THE INVENTION 
     An apparatus according to the invention determines the attitude of an object moving relative to another object, based upon first and second position measurements made at the objects. The apparatus is associated with a first object having a first coordinate system including mutually orthogonal x, y, and z coordinate axes, and is also associated with a second object, remote from the first object, which may be in compound motion relative thereto. The second object has a second coordinate system including its own mutually orthogonal r, s, and t coordinate axes. The r, s, and t axes may not correspond rotationally with the x, y, and z axes of the first coordinate system. A position signal generator is coupled to the first and second objects, and to a reference object remote from the first and second objects. The position signal generator generates, at a first instant of time, first and second position signals representative of the position of the reference object relative to the first and second objects, respectively, and a third position signal representative of the position of the second object relative to the first object. The signal generator also generates, at a second instant of time, fourth and fifth position signals representative of the position of the reference object relative to the first and second objects, respectively, and a sixth position signal representative of the position of the second object relative to the first object. At the second instant of time, the second object is at a different position relative to the first object than at the first instant. The first, third, fourth and sixth position signals are measured in the first coordinate system, and the second and fifth position signals are measured in the second coordinate system. A processor is coupled to the position signal generator for estimating the position of the second object relative to the reference object based upon the first and third reference signals, and for comparing the estimate of the position of the second object relative to the reference object with the second position signal for generating first and second angles of a three-angle transformation matrix representative of the attitude of the second coordinate system relative to the first coordinate system. The processor also estimates the third angle of the transformation matrix from the fourth, fifth, and sixth position signals. In one embodiment, the relative motions of the first and second objects may be controlled by signals based upon the application of the transformation matrix to the position signals measured at both of the objects. 
     In a particular embodiment of the invention, remote control of flying vehicle is contemplated, for guiding it toward a target viewed from a second vehicle. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a simplified diagram illustrating two aircraft in flight, each viewing each other and a reference object by means of radar, and each transmitting signals representing their observations to a ground station; 
     FIG. 2 is a representation of the position determining equipment located on one of the aircraft of FIG. 1, for generating position-representative signals; 
     FIG. 3 is a diagram representing the distances and angles between objects which can be measured at each aircraft of FIG. 1 by means of the equipment of FIG. 2; 
     FIGS. 4a and 4b together represent a flow chart of the process which is performed at some arbitrary location in response to the position-representative signals of FIG. 3 produced by the aircraft of FIG. 1; 
     FIG. 5 is diagram of a portion of the plot of FIG. 3, illustrating how an estimated value in a first coordinate system may differ from a measured value in a second coordinate system, and showing a difference therebetween; 
     FIG. 6 is a representation of an x, y, z coordinate system, illustrating the components of the difference between an estimated value and a measured value; 
     FIG. 7 illustrates error vectors resulting from two successive measurements; 
     FIGS. 8a, 8b, 8c, 8d, 8e, and 8f are equations which are used to determine the coordinate transformation matrix between the coordinate systems of FIG. 1; and 
     FIGS. 9a and 9b are matrix equations representing the transformation between coordinate systems of FIG. 1. 
    
    
     DESCRIPTION OF THE INVENTION 
     In FIG. 1, a first aircraft 10 is in motion, and is associated with a first x, y, and z coordinate system designated generally as 12. Aircraft 10 includes a radar system, the antenna of which is designated as 14, with which aircraft 10 observes its surroundings, which include a fixed terrestrial tower 30. Similarly, a second moving aircraft 20 is associated with a second r, s, and t coordinate system designated generally as 22, with which aircraft 20 observes its surroundings, also including terrestrial tower 30. Aircraft 10 and 20 generate signals which represent tower 30 and the other aircraft positions as seen in their coordinate systems 12 and 22, respectively, and transmit those signals by means of antennas designated 220 to a common location at which processing of the information may be performed. As illustrated in FIG. 1, the common location is a processor 43 in a building designated generally as 40, which includes an antenna 42 for receiving position signals transmitted from aircraft 10 and 20 over signal paths 50 and 52, respectively. The common location for processing could be on aircraft 10 or on aircraft 20, or anywhere else that position signals are available. 
     FIG. 2 represents the signal generating arrangement on one of the aircraft of FIG. 1. For definiteness, the processing equipment of aircraft 10, is shown. The equipment on aircraft 20 is similar. In FIG. 2, antenna 14 transmits and receives radar signals in known fashion with the aid of a transmitter-receiver (TX/RX) 212. The resulting signals represent the environment around aircraft 10 relative to the x, y and z axes of coordinate system 12. Processor 214 processes the signals as described below to produce signals representative of the positions of tower 30, and of the other aircraft (aircraft 20 in the case of FIG. 2). The signals representative of the positions are applied over a path 216 to an encoder or transmitter illustrated as a block 218, which transmits the signal by way of antenna 220. 
     FIG. 3 illustrates the relative positions of aircraft 10 and 20 and of tower 30 as they might appear on a display, together with coordinate systems. A line 301 interconnects the aircraft 10, at the origin of coordinate system 12, with object 30, taken as a reference object. A similar line 302 connects aircraft 20 at the origin of coordinate system 22 with object 30. A third line 303 connects the origins of coordinate systems 12 and 22, and represents the one of the aircraft as seen from the other. Each of lines 301, 302, and 303 represents a vector quantity, meaning that it represents both the magnitude (distance) and direction (angle) between the associated objects. The magnitude is determined by the radar range, and the angle is determined by the position of the antenna relative to the local coordinate system. Thus, aircraft 10 is spaced apart from tower 30 by a distance and angle which are represented by the length and angular position of line 301. Similarly, aircraft 20 is spaced apart from tower 30 by a distance and angle which are represented by the length and angular position, respectively, of line 302. Aircraft 10 is spaced apart from aircraft 20 by a distance and angle which are represented by the length and angular position, respectively, of line 303. It will be understood that the directions and distances illustrated in FIG. 3 can only be illustrated in two dimensions, but actually represent three dimensional quantities. It will be noted that the coordinate systems 12 and 22 of FIG. 3 do not have parallel axes, in that the x axis is not parallel to the r axis, and therefore the y axis is not parallel to the s axis. Those skilled in the art will understand that coordinate system 12 may also be rotated about the x axis so that the y and s axes do not lie in the same plane. As a result, coordinate system 12 may be skewed in all three axes relative to coordinate system 22. The position-representative signals traversing signal path 216 of FIG. 2 represent vectors 301, 302 and 303 of FIG. 3. The processing performed in the processor 214 of FIG. 2 to generate information representing vectors 301, 302, and 303 is very simple, and should be apparent to those skilled in the art. 
     FIGS. 4a and 4b together represent a simplified flowchart illustrating the processing which is performed by processor 43, that receives the position-representative signals 301, 302, and 303 by way of antenna 42 of FIG. 1. 
     In FIG. 4a, the logic starts at START node 410, and proceeds to a block 412, which represents the determination or measurement of the magnitude and angle of the current value of position vectors 301 and 303 of FIG. 3 relative to the aircraft&#39;s own coordinate system 12. For definiteness, these two vectors are designated 301(t) and 303(t). The (t) represents measurements made at time t. The logic flows from block 412 to block 414, which represents the current measurement performed by aircraft 20 in its coordinate system 22. For consistency of designation, vector 302 as so measured is designated 302(t). Thus, all of the position vector measurements at or about time t are available, but at different locations. More particularly, vectors 301(t) and 303(t) are available at aircraft 10, while vector 302(t) is available at aircraft 20. 
     From block 414 of FIG. 4a, the logic proceeds to a further block 416, which suggests the transmission of position vectors 301(t), 302(t) and 303(t) to a common location, at which they may be processed together. As illustrated in FIG. 1, the information from aircraft 10 and 20 is transmitted by way of paths 50 and 52, and an antenna 42, to processor 43. Referring once again to FIG. 4a, logic block 418 represents the estimation, at processor 43, of position vector 302*(t) in coordinate system 12, based upon known position vectors 301(t) and 303(t) in coordinate system 12. The asterisk (*) represents an estimated value. The estimate is made using 
     
         302*(t)=301(t)-303 (t)                                     (1) 
    
     It should be noted that 302*(t) is measured in coordinate system 12 of aircraft 10. 
     From block 418 of FIG. 4a, the logic flows to a further block 420, which represents the generation of a position vector E 302  representing the difference between the estimated value 302*(t) of position vector 302(t) as measured in coordinate system 12 and the measured value 302(t) as measured in coordinate system 10 using 
     
         E302(t)=302*(t)-302(t)                                     (2) 
    
     Referring to FIG. 5, difference vector E302(t) represents the differential displacement between vectors 302*(t) and 302(t) in coordinate systems. 12 and 10, respectively. Consequently, vector E302(t) represents the difference between a vector in a given coordinate system and the estimated value of that same vector in another coordinate system. Clearly, this is the difference between the coordinate systems themselves, to within the measurement accuracy. Thus, E302(t) of FIG. 5 represents the alignment difference between coordinate systems 12 and 22 of FIG. 1. 
     From block 420 of FIG. 4a, the logic flows to a further block 422, for generation of the partial measurement matrix M(t) which relates the difference vector E302(t) to the angular misalignment between estimated position vector 302*(t) and measured position vector 302(t). The partial measurement matrix M(t) is computed as the 3×3 matrix equivalent of the cross-product of vector 302(t) with E302(t), by ##EQU1## 
     As so far described, the estimation of the misalignment between the two coordinate systems can be explained with the aid of FIG. 6. In FIG. 6, the right-handed coordinate system 12 is represented by the x, y, and z axes (the -y axis is illustrated to maintain a right-handed coordinate system). Vector s* in FIG. 6 represents the estimation of coordinate vector s of coordinate system 22, as measured in coordinate system 12, rotated relative thereto. Coordinate vector s is selected in order to simplify the explanation. In FIG. 6, vector s is displaced by an angle Φ from the y-z plane, and by an angle θ from the x-y plane. Angle Φ corresponds to a first angular component e z  of the coordinate misalignment vector C, and angle θ corresponds to a second angular component e x  of the coordinate misalignment vector C. More particularly, e z  represents the rotation of vector s* about the z-axis in the direction of arrow 610, and e x  represents the rotation of vector s* about the x-axis in the direction of arrow 612. The relative rotation of vector s* about the y-axis cannot be determined from the data available from the measurement of position vectors 301(t), 302(t) and 303(t) as so far described. 
     In order to fully characterize the angular displacement of coordinate system 22 relative to coordinate system 12 about all three axes, according to an aspect of the invention, a second measurement is made of the same position vectors 301, 302, and 303, at a later time (t+1). The time duration between (t) and (t+1) is preferably selected to be sufficiently great so that the motion of one of the r- or t-axes of coordinate system 22 rotates relative to the x- or z-axes, respectively, of coordinate system 12 by an amount great enough to obtain the desired measurement accuracy. These motions correspond to a rotation about the y-axis such as that suggested by arrow 614 of FIG. 6. Thus, a delay which provides simple parallel translation of the two coordinate systems 12 and 22 is insufficient to establish a relative rotation 614 about the y-axis, and there must be a relative rotation about x or z axes. 
     According to a further aspect of the invention, a second measurement of position vectors 301, 302 and 303, as illustrated in FIG. 3, is made at time (t+1) later than time (t). These position vectors are designated 301(t+1), 302(t+1) and 303(t+1). Generally speaking, the position of vector 302*(t+1) in coordinate system 12 is estimated as described generally above, and subtracted from the measured value of 302(t+1) in coordinate system 22, to generate a second difference vector E302(t+1). After the second measurement is completed, and the two successive difference vectors E302(t) and E302(t+1) are generated, the two difference vectors may be further processed to determine the three-dimensional angular displacement between coordinate systems 12 and 22. FIG. 7 illustrates difference vectors E302(t) and E302(t+1). It should be noted that the coordinate systems 12 and 22 move relative to each other in the interval between measurements at time (t) and (t+1), and therefore the relative angular positioning of the two coordinate systems will always contain some residual error. Angle Ψ of FIG. 7 is the rotational angle about the y-axis of FIG. 6. 
     The misalignment angles Φ, Ψ, and, θ as measured in coordinate frame 12 are determined from the measurements made at time (t), or alternatively at time (t+1). In FIG. 4b, block 436 represents the multiplication of the inverse of the partial measurement matrix, M(t), by the difference vector E302(t). The resulting product is the misalignment vector, C(t), as illustrated in FIG. 7. Vector C(t) as illustrated in FIG. 7 is orthogonal to difference vector E302(t) and also orthogonal to the measured vector 302(t). The elements of the vector C(t) represent the misalignment angles between coordinate systems 12 and 22. 
     In FIG. 4a, the logic proceeds from block 422 to a decision block 424, in which the number of available measurements is determined. If only one measurement, made at the current time (t), is available, the logic leaves decision block 424 by the NO output, and proceeds by a logic path 426 to a further block 428. Block 428 represents a time delay which allows for relative motion between aircraft 10 and aircraft 20 of FIG. 1. As mentioned above, the time delay between times (t) and (t+1) is preferably sufficiently large so that the coordinate relationships are determined with the desired accuracy. From time delay block 428, the logic proceeds by a logic path 430 to a logic block 434. Block 434 represents incrementing of the index (t) to (t+1). The logic then returns to block 412 by logic path 436, and performs the same determinations as those described above in conjunction with blocks 412-422, where the hyphen represents the word &#34;through&#34; 
     After being initialized, the loop, as so far described in conjunction with FIG. 4a, loops byway of the NO output of decision block 424. At the second looping, and at all subsequent loops, the logic leaves decision block 424 by the YES output, because two measurements are available, namely those made at times (t) and (t+1). From the YES output of decision block 424, the logic loops back to delay block 428 by way of logic path 432 for yet another iteration, and, since two measurements are now available, also proceeds to block 436 OF FIG. 4b. 
     Block 436 of FIG. 4b represents formation of a 3×3 skew-symmetric matrix ˜302*(t), illustrated in FIG. 8a, from the x,y and z components of estimated vector 302*(t). The ˜ represents a skew symmetric matrix. The 3×3 matrix of FIG. 8a is skew symmetric because the off-diagonal components are negative-complementary. The skew-symmetric matrix of FIG. 8a is the matrix equivalent of the vector cross-product operation. 
     From block 436, the logic flows to block 438. Block 438 of FIG. 4b represents formation of a 3×3 skew-symmetric matrix ˜302*(t+1), illustrated in FIG. 8b, form the x,y and z components of estimated vector 302*(t+1). The 3×3 matrix of FIG. 8b is skew symmetric because the off-diagonal components are negative-complementary. The skew-symmetric matrix of FIG. 8b is the matrix equivalent of the vector cross-product operation. 
     From block 438, the logic flows to block 440 of FIG. 4b, which represents formation of a 6 row, 3 column augmented matrix, 302* A . The augmented matrix of FIG. 8c includes information relating to the coordinate transformation as determined by the two successive estimates. It should be noted, that if three successive measurements are available, the augmented matrix may have 9 rows, and 3 columns, and the number of rows increases by 3 with each additional measurement. Such additional measurements are advantageous in that improved coordinate transformation accuracy can be obtained. However, the example assumes only two measurements. 
     From block 440, the logic flows to block 442 of FIG. 4b, which represents formation of a 6 row, 1 column augmented measured vector 302 U . The augmented Vector of FIG. 8d includes information relating to the coordinate transformation as determined by the two successive measurements (as opposed to estimates). As mentioned above, if three successive measurements are available, the augmented vector may have 9 rows, and the number of rows increases by 3 with each additional measurement. 
     From block 442, the logic flows to a block 444 which represents generating the 3 row, 6 column, least-squares pseudo-inverse matrix 302* PA  from matrix 302* A  of FIG. 8c. In the equation of FIG. 8c, the matrix 302* PA  is the product of the transpose of matrix 302* A  multiplied by the inverse of a further matrix product. The further matrix product is itself the product of matrix 302* A  multiplied by the transpose of matrix 302* A . 
     From block 444, the logic flows to block 446 which represents determination of the 3 row, 1 column coordinate transformation vector C. Vector C, as illustrated in FIG. 8f, is the product of 3 row, 6 column pseudo-inverse matrix 302* PA  multiplied by 6 row, 1 column vector 302 U . 
     From block 446, the logic flows to block 448 of FIG. 4b which represents formation of the coordinate transformation matrix  C! as illustrated in FIG. 9. Matrix  C! represents the coordinate transformation required to convert position measurements made in the  r s t! coordinate system into the  x y z! coordinate system as suggested by FIG. 9b. The converse transformation is accomplished by transposing the elements of matrix  C! to form  C! T . 
     Once the transformation matrix  C! has been computed at the common location, which in the example is at location 41, it may be transmitted to remote locations which do not know the transformation. Thus, block 450 of FIG. 4b represents the transmission of at least  C! to aircraft 10 or 20 of FIG. 1. Consequently, each aircraft has precise information as to location of objects in each other&#39;s reference frames without the need for cumbersome calibration or alignment techniques. In effect, an alignment is performed at the moment the information is required by the computations based upon observed positional information of a common reference. 
     In a particular embodiment of the invention, aircraft 20 may be considered to be a rocket propelled missile controlled from aircraft 10. Tower 30 represents the target toward which missile 20 is directed. 
     As so far described, the time delay between measurements has been selected long enough so that the directly unmeasureable angle ψ can be resolved with two time successive measurements. Under some conditions, the direction of motion of one of the vehicles may be controllable. In such a circumstance, the direction of motion can be selected to minimize the time interval between measurements which is required to uniquely resolve the nominally unmeasureable angle ψ. Reduction of the time interval is desirable because it allows more frequent information updates. For example, assuming that aircraft 20 can be controlled from common location 40 of FIG. 1, angle ψ of FIG. 7 is the nominally unmeasureable angle, corresponding to rotation about the -y axis of FIG. 6. After the first measurement at time (t) is made, aircraft 20 is commanded to move in a direction perpendicular to the y axis of FIG. 6, which corresponds to the y axis of aircraft 10 of FIG. 1. By moving in the selected direction, the time required to generate a resolvable measurement is minimized. 
     Thus, an apparatus according to the invention determines the attitude of a first object (10) moving relative to a second (20) based upon first and second position measurements made at the objects. The apparatus includes a first object (10) having a first coordinate system (12) including mutually orthogonal x,y and z coordinate axes, and also includes a second object (20), remote from the first object (10), and which may be in compound motion relative thereto. The second object (20) has a second coordinate system (22) including mutually orthogonal r,s and t coordinate axes, which may not correspond rotationally with the first coordinate system (12). A signal generator (210) is coupled to the first (10) and second object (20), and to a reference object (30) remote from the first (10) and second object (20). The signal generator (210) generates, at a first instant of time (t1), first and second position signals representative of the position of the reference object (30) relative to the first and second object (20), respectively, and a third position signal representative of the position of the second object (20) relative to the first object (10). The signal generator (210) also generates at a second instant of time, fourth and fifth position signals representative of the position of the reference object (30) relative to the first and second object (20)s, respectively, and a sixth position signal representative of the position of the second object (20) relative to the first object (10). At the second instant of time, the second object (20) is at a different position relative to the first object (10) than at the first instant. The first, third, fourth and sixth position signals are measured in the first coordinate system (12), and the second and fifth position signals are measured in the second coordinate system (22). A processor is coupled to the signal generator (210) for estimating the position of the second object (20) relative to the reference object (30) based upon the first and third reference signals, and for comparing the estimate of the position of the second object (20) relative to the reference object (30) with the second position signal for generating first and second angles of a three-angle transformation matrix representative of the attitude of the second coordinate system (22) relative to the first coordinate system (12). The processor also estimates the third angle of the transformation matrix from the fourth, fifth, and sixth position signals. In one embodiment, the relative motions of the first and second object (20) may be controlled by signals based upon the application of the transformation matrix to the position signals measured at both of the objects. 
     Those skilled in the art will realize that the described method of solution as illustrated and described in conjunction with FIGS. 8a-8f and FIGS. 9a-9b represents an algebraic solution of static linear equations with two sets of data. A plurality of data sets over time allow solution by recursive methods known as dynamic linear estimation, least-squares estimation, or Kalman filtering. 
     Other embodiments of the invention will be apparent to those skilled in the art. For example, instead of a terrestrial object such as the illustrated tower, the reference object may be a stellar object, orbiting spacecraft, or other heavenly body. While the flowchart of FIG. 4a has been described as being performed by processor 43 of FIG. 1, the processing can be done anywhere, and more particularly may be performed at aircraft 10, or aircraft 20 or both; the only requirement being that the requisite information must be transmitted to the location where the processing is being performed. When more than two time sequential measurements are made, it may be desirable to weight the measurements, depending upon the noise characteristics of the system, so that, for example, greater emphasis is given to more recent measurements and less to older measurements. Similarly, it has been assumed that the measurements are made simultaneously at aircraft 10 and 20; it may be desirable to time-tag the measurements transmitted to the common location and to perform appropriate temporal interpolations.