ADCS for Citizen Explorer Satellite

Josh McGeehon

Simone Nicolo

Aaron Frey
Abstract

Citizen Explorer is a small satellite, designed and built by students at Colorado Space Grant Consortium. The satellite’s mission is to gather data from Earth’s atmosphere, to better understand the global effects of UV radiation and Ozone levels. This data is transmitted down to receiving stations held by students of primary, middle and high schools across the world.

This paper will discuss the Attitude Determination and Control Systems (ADCS) of Citizen Explorer satellite. The Attitude Determination and Control System is comprised of a couple focal objectives. First, the correct attitude and direction of the satellite should be constantly maintained, due to the fact that the solar panels and the communication antennas point towards earth. Second, the position of the satellite should be calculated to within one degree, in order to meet science objectives.

The ADCS is of particular interest, in part, due to its many facets. Some of these include a three-meter boom, with a three-kilogram tip mass, deployed to create a gravity gradient for the spacecraft. This gravity gradient aligns itself down nadir, when correctly oriented. The nominal attitude of the satellite is also easily maintained with a momentum-biased system. Collaboratively, a single axis momentum wheel is used to create an angular momentum, which will align itself with the momentum of the satellite. Lastly, external torques on the satellite, produced from solar wind and solar radiation can be counteracted by the use of magnetic torque coils. These will provide three-axis stability for the satellite.

To meet the strict attitude determination requirements required for the science objectives, Citizen Explorer uses five pyramidal shaped stacks containing four course sun sensors each. An onboard magnetometer will measure the magnetic field surrounding the Earth. This measurement will be compared with current known data on the earth’s magnetic field, from which, the position and angular velocities of the satellite can be determined. These two devices can be used to indicate the attitude of the satellite to within high accuracy.

As described above, the Attitude Determination and Control Systems of Citizen explorer comprises a greater depth than most other systems on a small spacecraft.
Citizen Explorer: Introduction

The primary mission of the citizen explorer spacecraft is education; education for K-12 students, undergraduate and graduate students. The job of the Attitude Determination and Control System (ADCS) team is to provide technical solutions to facilitate the success of the Science mission. In successfully carrying out our specific mission goals we provide our team with valuable real world experience and education, while ensuring that K-12 students will be able to benefit from having there own satellite orbiting the earth with the ability to take reliable and accurate measurements of the atmosphere.

The ADCS is responsible for determining and controlling the direction that the spacecraft is facing. Citizen Explorer must be able to maintain a stable and predictable orbit while keeping its instruments pointed towards the earth and its solar panels towards the sun. There are multiple systems the ADCS uses to accomplish these tasks. Through the guidelines passed on to the ADCS team by the Science team, Citizen Explorer must know where its instruments are pointing to within one degree. This information is acquired using five sun sensor pyramids, each with four sun sensors. From the position of the sun sensors relative to the amount of light they receive the ADCS software determines the exact spot in the atmosphere that the spacecraft is pointing. In conjunction with the sun sensors attitude is also determined with a magnetometer, which measures the direction and strength of the Earth’s magnetic field. Using the International Geomagnetic Reference Field (IGRF), a map of Earth’s current magnetic field, the spacecraft can compare its own measurements and determine where in the field, and therefore where above the Earth, it is located. Once the attitude is known, if it is not facing the correct direction it may be actively controlled by the magnetic torque coils. When an electric current is driven though such a coil, a magnetic field is created and the coils act like large magnets, capable of rotating the satellite to a new attitude. Coils are mounted on all three axes giving full control of the satellite. Two more components of the ADCS ensure Citizen Explorers stability, the Gravity Gradient Boom and the Momentum Wheel. With a 2.5 kg tip mass and a length of four meters; the boom’s moment of inertia is 40 kg m2. This provides a naturally occurring stability with the spacecraft body closer to the earth and increases its moment of inertia about its X and Y-axis. When spinning, the Momentum Wheel provides a torque about the Y-axis; this prevents any disturbances from turning the satellite from its correct attitude.

The ADCS team is developing software to implement and integrate the described systems; through its success, it will pass on the opportunity to young children and teenagers to participate in the enduring wonder of space.

Course Sun Sensors

The Coarse sun-sensors are part of the ADCS in order to provide a more precise determination of attitude needed by Science in order to fulfill its objectives. Science needs to know the attitude of CX-1 within an error of 1 degree, in order to be able to profitably utilize and interpret the ozone measurement.

The CX-1 satellite has five pyramids each formed by four sun sensors. Each sun sensor is a photodiode with an integrated amplifier[1]. When in presence of a light source, the sun sensor returns a voltage. Therefore, given a known intensity for a light source, we can compute the angle of incidence of it.

Our approach to the problem of determining attitude with the sun-sensors follows these steps: first, we read from the hardware the four voltages pertaining to each pyramids. Second, we use a table (previously experimentally determined) loaded in memory to find the correspondence between the voltage read, and the angle that the incident light makes with the normal vector (normal to the surface of a diode). Lastly, since we know the physical position in the satellite body frame of all the pyramids, and we know the physical characteristic of each pyramid, we can use some trigonometry to determine the vector of the incident light. To determine an incident vector we need to solve a system with three incognita but, because we have four diodes on each pyramids, this information is over-determined. The reason of the presence of four diodes is easily explained: first, to prevent hindering the system in case of a problem with one of the diodes; second, four diodes can be arranged in a very symmetrical way, so to make calculations a little easier. To take advantage of our over-determined system we decided to use the “least square method.” This method allows us to solve a 4 equation in 3 incognita systems, with improved precision. Once this system is solved, we have the light incident vector relative to the pyramid reference frame. With a coordinate change we can translate the vector to the satellite’s body reference frame. We can repeat the process for each pyramid and obtain five vectors for the incident light, all in the body reference frame of the satellite. Our last step is then to combine the information in these five vectors to compute one resulting vector for the incident light. Again, we have an over-determined system, and we will use the least square method to compute a single resulting vector for the incident light. This resulting vector will tell us our attitude precisely; know our position in the orbit and the position of the sun.

To allow us to compute reference frame change, and to use the least square method we are developing some mathematical software tools. Among them a Matrix class (for n*n matrices), with all the matrices operations and some software solvers for linear system of equations.

Magnetometer

The Course Sun Sensors are used in attitude determination to meet the one-degree determination requirement set by the science equipment used on board. The attitude for Citizen Explorer satellite is calculated for the attitude control system with a magnetometer. The magnetometer reads the magnetic field of the earth and compares it with the IGRF model for the Earth’s magnetic field to determine attitude. By taking several magnetic readings at close intervals, angular velocities can be determined and six degrees of freedom are accounted for.

The IGRF field model is the current model for the magnetic field around the earth. It is updated regularly but these changes are small and the IGRF model on Citizen Explorer will not need to be updated through its mission life. A picture of the earth’s magnetic field is shown in Figure 1.

Figure 1 Earth's magnetic field [NASA Picture]

The magnetometer takes readings of this magnetic field. The reading of the magnetic field comes in the form of a vector. This vector is then compared to the IGRF magnetic field model of the earth at the position of the satellite. This comparison yields the satellites attitude. The angular velocity of the satellite can be determined by finding the satellite’s attitude at several points. Measuring the change in attitude and the change in time between two points and dividing them yields the satellite’s angular velocities. There are three angular velocities, Pitch, Roll, and Yaw.

The course sun sensors are used to more accurately determine attitude and provide a good check against the magnetometer in measurement of attitude. The position of the satellite can be determined with the position of the sun as well as through the magnetic field around the earth. However, the sun does not accurately indicate satellite position or attitude if the satellite is in eclipse. If the satellite cannot see then sun because the earth is in the way the magnetometer must be used. The magnetic field, however, is always there to read day or night. The main advantage for using the magnetometer for attitude control include it reliable operation day or eclipse.

Magnetic torque coils

To apply external forces on Citizen Explorer satellite magnetic torquer coils are used. These torquer coils were designed and built in house by students working at Colorado Space Grant Consortium. Magnetic torquer coils are advantageous to satellites in Low Earth orbit because closer to earth the magnetic field strength is higher. Therefore in a low earth orbit a larger magnetic torque can be generated. The Y and Z torquer coils are shown in Figure 2.

Figure 2 The Y and Z torquer coils for Citizen Explorer

In the case where the Citizen Explorer is released from its launch vehicle with an angular velocity great enough to buckle the tape measures on the gravity gradient boom, the magnetic torquer coils will need to be turned on the slow the angular velocity of the satellite so the boom can be deployed.

Gravity Gradient Boom

The gravity gradient boom is deployed to ensure that the satellite points toward the Earth. The boom has a moment of inertia of 40 kg m2. This gravity gradient wants to align itself with the gravity vector of the earth. If the boom stays aligned with the gravity vector of the Earth, one side of citizen explorer will always be pointed down nadir toward the earth. A picture of the deployed boom is shown in Figure 3.

Figure 3 The uncoiled boom for citizen explorer satellite

However, this boom only provides two axis of stability. Pitch and roll are stabilized but uncontrollable by the gravity gradient. A momentum wheel stabilizes the third axis.

Momentum Wheel

The momentum wheel spins around the roll axis to stabilize yaw. The momentum wheel produces an angular momentum in the direction of the satellite velocity. This large angular momentum vector acts like regular momentum where it does not want to change directions. This is the same principle that keeps a gyroscope standing as it resists changes put on the system by gravity. However, is the gyroscope stops spinning the top falls over. The momentum wheel must always be spinning to keep the citizen explorer stabilized. This produces a stabilized yaw axis and citizen explorer will now resist disturbance torques in all directions.

The Ball Corporation donated the momentum wheel to Colorado Space Grant Consortium for use on the Citizen Explorer satellite. The momentum wheel can also act as a torque wheel. In the case where the boom were deployed or stabilized in the wrong direction, the momentum wheel would need to act as a torque wheel and flip the satellite right side up. A torque wheel works by Newton’s third law. “For every action, there is an equal and opposite reaction.” That means that if the momentum wheel accelerates quickly in one direction the satellite will accelerate in the opposite direction. So, to flip the satellite the momentum wheel will need to be rapidly accelerated in one direction. Once the torque put on the satellite by the momentum wheel overcomes the gravity gradient torque set by the boom, the wheel can be despun slowly and the satellite will be right side up.

Software

The attitude determination and control systems of citizen explorer are entirely software controlled. Thus, a large amount of time, detail, coding, debugging and testing must go into the implementation of the software model for ADCS.

The system will operate mostly in near-real-time (respond within minutes), and as such, leaves no room for error once in flight.

The entire system is programmed in c++, as is the rest of the citizen explorer. This enables us to create a solid foundation of classes upon which each sub-system is built, and allows for the entire system to be robust and flexible.

Our primary goal in creating all parts of the software model, are to maintain accuracy and reliability. To maintain this goal, the amount of different layers that are needed to operate the space craft are being kept to a minimum, maximizing re-use of code to maintain expense of memory, and to fully utilize the inheritance of objects which have been fully tested, rather than re-implemented.

Implementation

At the lowest level, there is a class that provides almost all of the mathematical manipulations and calculations required for all children / derived objects in the adcs library. This function is primarily a vector / matrix class that is capable of performing at minimum, the following functions:

Multiplication of two matrices of arbitrary dimensions.

Addition and Subtraction of two arbitrary sized matrices.

Gauss-Jordan method of solving linear equations.

Perform least-squares method on a set of vectors, or a matrix.

A couple other functions needed by one or more of the derived classes.

From this class, are derived a number of other objects that directly communicate with the hardware. These comprise of:

A Sun-Sensor class, the function of which is to determine the position of the space craft relative to the sun.

A Magnetometer class, the function of which is to determine the attitude and direction of the space craft utilizing the IGRF table.

From these two classes, a very good estimation of the current location can be calculated.

Other non-derived classes would include a Momentum wheel class, used to provide torque or to stabilize the space craft via control of a single axis momentum wheel, and a Magnetic Coil class, which can be used to provide torque to the system.

Above all of this is one master object, which will drive the entire Attitude Determination and Control System. Since the adcs software will be the first and only system in control of the space craft after launch and until good attitude is acquired, this master class will be the pivot of our entire software model. It will initially utilize its base member functions to stabilize the space craft, after which it will deploy the antennae's and boom, allowing for communication with Earth. A loop will then commence for the rest of the mission, maintaining and adjusting attitude as need, until the system is restarted or shut down.

[1] Burr-Brown, integrated photodiode and amplifier, OPT301.