Attitude determination using infrared earth horizon sensors
09809328 · 2017-11-07
Assignee
Inventors
- Tam Nguyen Thuc Nguyen (Cambridge, MA)
- Kerri L. Cahoy (Lexington, MA, US)
- Meghan K. Quadrino (Cambridge, MA, US)
Cpc classification
B64G1/365
PERFORMING OPERATIONS; TRANSPORTING
B64G1/286
PERFORMING OPERATIONS; TRANSPORTING
B64G1/245
PERFORMING OPERATIONS; TRANSPORTING
B64G1/36
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
Described herein are systems and methods for attitude determination using infrared Earth horizon sensors (EHSs) with Gaussian response characteristics. Attitude information is acquired by detecting Earth's infrared electromagnetic radiation and, subsequently, determining the region obscured by Earth in the sensors' fields of view to compute a nadir vector estimation in the spacecraft's body frame. The method can be applied when two sensors, each with known and distinct pointing directions, detect the horizon, which is defined as having their fields of view partially obscured by Earth. The method can be implemented compactly to provide high-accuracy attitude within small spacecraft, such as CubeSat-based satellites.
Claims
1. A system for spacecraft attitude determination, the system comprising: a plurality of horizon sensors, each of the plurality of horizon sensors having a respective field-of-view (FOV), each of the plurality of horizon sensors having a sensitivity to the portion of the respective FOV obscured by Earth; an attitude determination module coupled to the plurality of horizon sensors, the attitude determination module configured to: obtain horizon sensor readings from the horizon sensors; determine an Earth disk radius in a spacecraft's body frame; convert the horizon sensor readings to nadir angles using a Gaussian approximation including dividing the horizon sensor FOV into a plurality of constant sensitivity regions each having a Gaussian approximation coefficient; and estimate a nadir vector using the nadir angles and the Earth disk radius.
2. The system of claim 1 further comprising a reference sensor coupled to provide reference sensor readings to the attitude determination module, wherein the attitude determination module is configured to: determine a plurality of possible nadir vector solutions using the nadir angles and the Earth disk radius; obtain a reference sensor reading; and choose one of the plurality of possible nadir vector solutions based upon the reference sensor reading.
3. The system of claim 2, wherein the plurality of horizon sensors comprise a first horizon sensor and a second horizon sensor mounted along orthogonal axes.
4. The system of claim 1 wherein at least one of the plurality of horizon sensors comprises a thermopile.
5. The system of claim 1 wherein at least one of the plurality of horizon sensors comprises an infrared radiation (IR) sensor.
6. The system of claim 3 wherein the reference sensor comprises a magnetometer or a Sun sensor.
7. The system of claim 1 further comprising an attitude control module coupled to receive estimated nadir vector information from the attitude determination module, the attitude control module configured to adjust a spacecraft's attitude based upon received estimated nadir vector information.
8. The system of claim 1 wherein the attitude determination module is configured to: receive spacecraft position information; and determine an Earth disk radius in a spacecraft's body frame based upon the spacecraft position information.
9. A method for spacecraft attitude determination, the method comprising: obtaining horizon sensor readings from a plurality of horizon sensors, each of the plurality of horizon sensors having a respective field-of-view (FOV), each of the plurality of horizon sensors having a sensitivity to the portion of the respective FOV obscured by Earth; determining an Earth disk radius in a spacecraft's body frame; converting the horizon sensor readings to nadir angles using a Gaussian approximation including dividing the horizon sensor FOV into a plurality of constant sensitivity regions each having a Gaussian approximation coefficient; and estimating a nadir vector using the nadir angles and the Earth disk radius.
10. The method of claim 9 further comprising: determining a plurality of possible nadir vector solutions using the nadir angles and the Earth disk radius; obtaining a reference sensor reading from a reference sensor; and choosing one of the plurality of possible nadir vector solutions based upon the reference sensor reading.
11. The method of claim 10, wherein obtaining horizon sensor readings from horizon sensors comprises obtaining a horizon sensor readings from a first horizon sensor and from a second horizon sensor mounted along orthogonal axes.
12. The method of claim 9 wherein obtaining horizon sensor readings from horizon sensors comprises obtaining readings from thermopiles.
13. The method of claim 9 wherein obtaining horizon sensor readings from horizon sensors comprises obtaining readings from infrared radiation (IR) sensors.
14. The method of claim 11 wherein obtaining a reference sensor reading comprises obtaining a reading from a magnetometer or a Sun sensor.
15. The method of claim 9 further comprising adjusting a spacecraft's attitude based upon an estimated nadir vector.
16. The method of claim 9 further comprising receiving spacecraft position information, wherein determining an Earth disk radius in a spacecraft's body frame comprises determining an Earth disk radius based upon the spacecraft position information.
17. The system of claim 1 wherein the attitude determination module is configured to determine the Earth disk radius in the spacecraft's body frame using a geocentric latitude of the spacecraft, an equatorial radius of the Earth, and a polar radius of the Earth.
18. The system of claim 1 wherein the plurality of horizon sensors comprise a first horizon sensor having a first boresight vector in the spacecraft's body frame and a second horizon sensor having a second boresight vector in the spacecraft's body frame, wherein the nadir angles include a first nadir angle and a second nadir angle, and wherein the attitude determination module is configured to estimate the nadir vector by finding the intersection of a first cone defined by the first boresight vector and the first nadir angle and a second cone defined by the second boresight vector and the second nadir angle.
19. A method for spacecraft attitude determination, the method comprising: obtaining horizon sensor readings from a plurality of horizon sensors, each of the plurality of horizon sensors having a respective field-of-view (FOV), a sensitivity to the portion of the respective FOV obscured by Earth, and a boresight vector in a spacecraft body frame; determining an Earth disk radius in a spacecraft's body frame using a geocentric latitude of the spacecraft, an equatorial radius of the Earth, and a polar radius of the Earth; converting the horizon sensor readings to nadir angles; and estimating a nadir vector using the Earth disk radius and by finding the intersection of a first cone defined by the boresight vector of a first one of the plurality of horizon sensors and a first one of the nadir angles and a second cone defined by the boresight vector of a second one of the plurality of horizon sensors and a second one of the nadir angles.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The concepts, structures, and techniques sought to be protected herein may be more fully understood from the following detailed description of the drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11) The drawings are not necessarily to scale, or inclusive of all elements of a system, emphasis instead generally being placed upon illustrating the concepts, structures, and techniques sought to be protected herein.
DETAILED DESCRIPTION
(12) Within the following description, a body coordinate system (sometimes referred to as a “body frame”) for a spacecraft is defined as follows: the +x direction is along the spacecraft's nominal velocity vector, the +z direction nominally points toward nadir, and the +y direction points to a side of the spacecraft selected so as to complete a right-hand coordinate system. It will be understood, however, that concepts, methods, and systems described herein can be used with any body coordinate system.
(13) Referring to
(14) The spacecraft 100 comprises a plurality of Earth horizon sensors (EHSs or “horizon sensors”) generally denoted 102 to detect infrared electromagnetic radiation from Earth 104. In the example shown, two horizon sensors 102a and 102b are mounted along the x and y axes, respectively, to provide pitch and roll knowledge of the spacecraft. The horizon sensors 102a and 102b have corresponding field of views 108a and 108b. In some embodiments, spacecraft 100 also includes a so-called “reference sensor” (not shown), the purpose of which is described below. The reference sensor may be mounted along a different axis from the horizon sensors 106 (i.e., along the z axis in the example of
(15) The horizon sensors 102 are mounted with a so-called “dip” angle 110 (denoted θ.sub.z in equations below) in the +z direction such that Earth's horizon can be detected. In various embodiments, the dip angle θ.sub.z between the sensors' boresights and the x-y plane is selected based upon the spacecraft's target altitude h, and the average Earth radius R.sub.E≅6,371 kilometers (km), as shown in Equation 1.
(16)
(17) The horizon sensors 102 may comprise any suitable sensors to detect Earth's electromagnetic radiation, such as infrared radiation (i.e., thermal energy emitted by Earth). Such radiation can be measured using thermopile detectors, devices that convert thermal energy collected in the sensor's field of view (FOV) into electrical energy. In various embodiments, the horizon sensors 102 comprise commercial thermopile sensor units having Gaussian sensitivity, with the half-width at half-maximum (HWHM) defined as the effective half-angle field of view.
(18) It should be understood that the configuration of horizon sensors 102 shown in
(19) In a particular embodiment, a spacecraft 100 comprises six horizon sensors 102, with three mounted in the −x direction and three mounted in the +y direction. The horizon sensors 102 have Gaussian sensitivity with a narrow FOV (e.g., between 5° and 10°). The three sensors on each mount are reserved to be looking at deep space, Earth horizon, and Earth, and are tilted in the +z direction at angles which may be determined by the spacecraft's altitude. In one example, three horizon 102 sensors are titled in the z direction by about 10°, 20°, and 30°, respectively. Multiple sensors on a single mount can be combined to compute an effective sensor reading, mitigating the effect of varying infrared emission from Earth's surface and background disturbances.
(20) In certain embodiments, the spacecraft 100 is a satellite conforming to the CubeSat specification. Accordingly, the spacecraft 100 may have dimensions of about 10×10×10 cm (“1U”), 20×10×10 cm (“2U”), 30×10×10 cm (“3U”), or any other multiple of 1U dimensions generally conforming to the CubeSat specification. A 1U CubeSat has mass less than or equal to 1.33 kilogram (kg).
(21) In general operation, the spacecraft 100 acquires attitude information by detecting infrared electromagnetic radiation from Earth 104 via horizon sensors 102. Earth's surface and atmosphere absorbs and reradiates the Sun's radiation the infrared (IR) range. For spacecraft in LEO, IR radiation from the Sun and other stars is insignificant due to the small solid angle subtended by the stars in comparison to Earth. For example, at LEO, the Sun may have a solid angle of about 7×10.sup.−5 steradian (sr), whereas Earth may have a solid angle of about 4 sr. Thus, using EHSs 102 angled down towards Earth's horizon, the spacecraft 100 can determine the region obscured by Earth 104 in each horizon sensor's field of view. Based upon this information, attitude estimation techniques can be deployed to estimate the nadir vector and adjust the spacecraft's attitude accordingly, as described further below in conjunction with
(22)
(23) The attitude determination system 200 comprises an attitude determination module 202 and a plurality of horizon sensors 204 coupled thereto. In the embodiment shown, the system 200 includes two horizon sensors 204a, 204b, which could be the same as or similar to horizon sensors 102a, 102b of
(24) In some embodiments, the system 200 further comprises an additional attitude sensor 206, separate and distinct from the horizon sensors 204, which can be coupled to the attitude determination module 202. As will be discussed below, the additional sensor 206 is used to resolve ambiguity between nadir vector solutions and, therefore, is referred to herein as a “reference sensor” 206. The reference sensor 206 can be any suitable attitude sensor that is suitable to resolve ambiguity from EHS solutions according to the techniques described below in conjunction with
(25) In various embodiments, the reference sensor 206 may be mounted along a different axis from the horizon sensors 204a, 204b. For example, if the horizon sensors 204a and 204b are mounted along the x and y axes of the body coordinate system, respectively, the reference sensor 206 can be mounted along the z axis of the body coordinate system.
(26) The attitude determination module 202 is configured to determine a spacecraft's attitude in an inertial frame based upon readings from the sensors 204, 206. In various embodiments, the attitude determination module 202 estimates a nadir vector, which can be used to compute a complete solution to spacecraft attitude. For example, the TRIAD method can be used to convert the nadir vector along with a second reference vector (e.g., a Sun vector) into a unique spacecraft attitude. Illustrative processing for use within the attitude determination module 202 is shown in
(27) The nadir vector estimation techniques described below rely on precise knowledge of sensor boresight directions, which are used as body-fixed reference vectors. Since the sensor boresight directions do not align with the spacecraft's body axes but tilted in the z-direction to allow horizon sensing, mounting errors are likely to occur during the assembly process of the sensor unit, mostly in the dip angle θ. Accordingly, body-fixed reference vectors for each horizon sensor 204 may be stored, hardcoded, hardwired, or otherwise configured within the attitude determination module 202.
(28) In some embodiments, the attitude determination module 202 is coupled to receive spacecraft position data from a position determination module 226. Many satellites and other type of spacecraft have position knowledge through the Global Positioning System (GPS) and/or Two-line Element (TLE) data. Accordingly, the position determination module 226 could correspond to a GPS module (e.g., a GPS receiver), TLE data, or any other suitable source of position data available upon the spacecraft.
(29) The attitude control system 220 comprises an attitude control module 222 and a plurality of actuators 224. An actuator 224 may correspond to any suitable device for controlling the orientation of a spacecraft (or other body supporting the actuators 224) with respect to an inertial frame of reference. Non-limiting examples of actuators 224 include: thrusters; spin stabilization devices; flywheels, such as reaction wheels, momentum wheels, and control moment gyros; solar sails; gravity-gradient stabilization devices; and magnetic torquers. In various embodiments, the attitude control system 220 comprises three actuators 224a, 224b, and 224c, each actuator controlling orientation along a corresponding one of the spacecraft's three body frame axes.
(30) The attitude control module 222 is configured to receive attitude information generated by the attitude determination system 220, such as an estimated nadir vector, and to adjust the spacecraft's orientation accordingly, using actuators 224. In various embodiments, the attitude control module 222 uses the TRIAD method, orienting the spacecraft such that the body frame +z axis is aligned with the nadir vector, while using a second reference vector (e.g., a Sun vector) to determine rotation around the nadir vector. Other suitable attitude control techniques may be used.
(31)
(32)
(33) For simplicity of explanation, it is assumed herein that each horizon sensor has a constant sensitivity across its FOV. In other words, it is assumed that Earth infrared emission at the wavelength of interest is uniform within the sensor's FOV. Thus, the sensor reading is assumed to be proportional to the area obstructed by Earth in the sensor's FOV (i.e., overlap area S 308). In the case where the horizon sensors have Gaussian response (e.g., conventional thermopiles), a Gaussian approximation technique described below in conjunction with
(34) In addition, it is assumed herein the angle subtended by Earth (the Earth disk radius ρ) in the spacecraft's body frame remains constant during operation, which is generally only a good approximation when the spacecraft's altitude is unchanging and the horizon curve observed by the sensor is circular. To account for the ellipsoid shape of Earth and/or changing spacecraft altitude, the Earth disk radius ρ can be dynamically determined using the spacecraft's position, as described below in conjunction with
(35) The overlap area S 308 between the projections of the sensor's FOV 304 of radius ε and the Earth disk 302 of radius ρ represents the region obstructed by Earth within the sensor's FOV. The angle between the nadir vector and the sensor boresight is denoted by α. When α≧ρ+ε, the two circular projections 304, 306 do not overlap, representing the case where Earth is not detected by the sensor. On the other hand, when α≦ρ−ε, the sensor's FOV is fully obstructed by Earth, assuming the sensor's FOV 304 is narrower than the Earth disk 306. Thus, Earth's horizon can be detected by the horizon sensors when α is within the range (ρ−ε, ρ+ε). The overlap area S 308 in this range can be computed as a function of α, ε, and ρ as shown in Equation 2.
(36)
(37) For known values of ε and ρ, this relationship allows a sensor reading (assumed here to be proportional to S) to be converted to a nadir angle α relative to a fixed and known vector in the spacecraft body frame, leading to partial attitude knowledge. Since it may be computationally intensive to invert Equation 2 to solve for a as a function of S, a lookup table implementation can be provided. To narrow down the set of solutions, at least two nadir angles relative to distinct boresight vectors are needed to provide a finite set of nadir vector solutions.
(38) As shown in
(39) The analytical form of the possible nadir vectors are the solutions to the following system of equations:
{right arrow over (P)}.Math.Ŝ.sub.1=cos(α.sub.1)
{circumflex over (P)}.Math.Ŝ.sub.2=cos(α.sub.2)
|{circumflex over (P)}|=1 (Equations 3).
(40) The first two equations ensure that the angles between the solutions and the boresight vectors equal to the nadir angles φ.sub.1, φ.sub.2 as determined above. The third equation is a normalization condition, which is required for the first two equations to hold. This system of three equations (Equations 3) consists of three variables, which are the three components of the nadir vector. It can be solved analytically through variable eliminations and substitutions for a finite set of solutions. Algebraically, there can be zero, one, or two vector solutions to the system of equations since the third equation is of second order. When both sensors detect the horizon, the system of equations has at least one solution, assuming low sensor noise level. The system of equations (Equations 3) has exactly one solution when the spacecraft is oriented such that the nadir vector is on the plane containing Ŝd and Ŝ.sub.2, which is unlikely to occur due to jitters and other disturbances. In most cases, there are two possible nadir vector solutions to the system of equations, leading to ambiguity in the estimation results.
(41)
(42)
(43)
(44) If, as illustrated in
(45) It can be seen in
(46)
(47) The separation angle between the possible nadir solutions depends on the relative position of the nadir vector ({circumflex over (P)}) and the sensor boresight vectors (Ŝ.sub.1 and Ŝ.sub.2). When the sensors have narrow FOV, the sensor readings are only valid when one of the possible nadir solutions is in near alignment with the z-axis. In this case, the separation angle can be expressed in terms of the dip angle θ.sub.z between the sensors' boresights and the x-y body plane, as shown in Equation 5. The dip angle θ.sub.z is defined above in conjunction with
(48)
(49) In some embodiments, the horizon sensors are configured such that the angle separation between the two possible nadir solutions θ.sub.pp′ is at least 106°. For example, at an altitude of 500 km and with sensors' FOV half-angle of 5°, the angle separation between the two possible nadir solutions θ.sub.pp′ is approximately 120° when one of the solutions aligns with the z-axis and 106° in the worst case scenario. With such a wide angle separation, the nadir vector ambiguity can be easily resolved during nadir acquisition by comparing the two possible solutions to the reading of an additional reference attitude sensor (e.g., reference sensor 206 in
(50) Referring to
(51) Since modeling a sensor's sensitivity as a continuous 2D Gaussian function significantly increases the complexity of the obscuration calculation, the sensor field can instead be divided into regions 340 of constant sensitivity to approximate the Gaussian pattern.
S.sub.1=S(α,r.sub.1,ρ)
S.sub.2=S(α,r.sub.2,ρ)−S(α,r.sub.1,ρ)
S.sub.3=S(α,r.sub.3,ρ)−S(α,r.sub.2,ρ) (Equations 6)
(52) The sensor response becomes the weighted sum of S.sub.1, S.sub.2, and S.sub.3, with appropriate Gaussian approximation coefficients. It should be understood that, although this example shows three sensor regions 340, the techniques described herein could readily be adapted to any number of sensor regions greater than one.
(53) The sensor response values can be pre-computed for different values of nadir angles to construct a lookup table. This lookup table, consisting of the modified sensor response and the corresponding nadir angle, can be pre-computed and stored upon the spacecraft (e.g., within the attitude determination module 202 of
(54) Referring to
(55)
(56)
(57) The orbit radius R({right arrow over (r)}) 366 can be computed as the magnitude of the position vector. The Earth radius directly under the spacecraft R.sub.E({right arrow over (r)}) 368 can be computed using the World Geodetic System 84 Ellipsoid Earth model. To avoid additional complexity, Earth's shape can be assumed to be spherical with radius R′.sub.E({right arrow over (r)}) in other parts of the analysis, as shown by dashed line 372 in
(58)
(59) Referring to
(60) At block 404, the Earth disk radius (e.g., radius ρ in
(61) At block 406, the horizon sensor readings obtained at block 402 are converted to nadir angles using either using either a uniform model or a Gaussian model. As described above in conjunction with
(62) If the uniform model is used, block 406 may correspond to solving Equation 2 for the nadir angle α as a function of S, which is proportional to the sensor reading obtained, as described above in conjunction with
(63) At block 408, possible nadir vector solutions are computed. In some embodiments, this corresponds to solving a system of equations (e.g., Equations 3) for two possible nadir vectors (e.g., vectors {circumflex over (P)} and {circumflex over (P)}′), as described above in conjunction with
(64) At block 410, a reference sensor reading is obtained, such as a reading from reference sensor 206 in
(65) At block 414, the spacecraft's attitude can be adjusted based upon the chosen nadir vector. For example, actuators (such as actuators 224 in
(66) In some embodiments, the processing of blocks 402-412 is implemented within an attitude determination module 202 of
(67)
(68) Processing may be implemented in hardware, software, or a combination of the two. In embodiments, processing is provided by computer programs executing on programmable computers/machines that each includes a processor, a storage medium or other article of manufacture that is readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code may be applied to data entered using an input device to perform processing and to generate output information.
(69) The system can perform processing, at least in part, via a computer program product, (e.g., in a machine-readable storage device), for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). Each such program may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the programs may be implemented in assembly or machine language. The language may be a compiled or an interpreted language and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. A computer program may be stored on a storage medium or device (e.g., CD-ROM, hard disk, or magnetic diskette) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer. Processing may also be implemented as a machine-readable storage medium, configured with a computer program, where upon execution, instructions in the computer program cause the computer to operate.
(70) Processing may be performed by one or more programmable processors executing one or more computer programs to perform the functions of the system. All or part of the system may be implemented as special purpose logic circuitry (e.g., an FPGA (field programmable gate array) and/or an ASIC (application-specific integrated circuit)).
(71) All references cited herein are hereby incorporated herein by reference in their entirety.
(72) Having described certain embodiments, which serve to illustrate various concepts, structures, and techniques sought to be protected herein, it will be apparent to those of ordinary skill in the art that other embodiments incorporating these concepts, structures, and techniques may be used. Elements of different embodiments described hereinabove may be combined to form other embodiments not specifically set forth above and, further, elements described in the context of a single embodiment may be provided separately or in any suitable sub-combination. Accordingly, it is submitted that that scope of protection sought herein should not be limited to the described embodiments but rather should be limited only by the spirit and scope of the following claims.