Professional Documents
Culture Documents
2018-1391
8–12 January 2018, Kissimmee, Florida
2018 AIAA Modeling and Simulation Technologies Conference
Among the various challenges involved in the development of CubeSats lies the attitude
determination and control of the satellite. The importance of a properly functioning attitude
determination and control system (ADCS) on any satellite is vital to the satisfaction of its mission
objectives. Due to this importance, three-axis attitude control simulators are commonly used
to test and validate spacecraft attitude control systems before flight. However, these systems
are generally too large to successfully test the attitude control systems on-board CubeSat-
Downloaded by UNIVERSITY OF ADELAIDE -INTERNET on January 16, 2018 | http://arc.aiaa.org | DOI: 10.2514/6.2018-1391
class satellites. Due to their low cost and rapid development time, CubeSats have become an
increasingly popular platform used in the study of space science and engineering research. As
an increasing number of universities and industries take part in this new approach to small-
satellite development, the demand to properly test, verify, and validate their attitude control
systems will continue to increase. An approach to CubeSat attitude determination and control
simulation is in development at the Virginia Tech Space Simulations Laboratory. This platform
will provide an inexpensive method of testing any current, and future, CubeSat ADCS prior to
flight. Using commercial off the shelf (COTS) components, the Virginia Tech CubeSat Attitude
Control Simulator (CSACS) is a low cost, lightweight air-bearing testing platform that will
provide a simulated low Earth orbit (LEO) environment to validate CubeSat ADCS.
Nomenclature
~v arbitrary vector notation
{î1, î2, î3 } the three unit base vectors of an inertial reference frame
{b̂1, b̂2, b̂3 } the three unit base vectors of a body-fixed reference frame
Fi the reference frame with base vectors {î1, î2, î3 }
Fb the reference frame with base vectors {b̂1, b̂2, b̂3 }
vi a column matrix whose 3 elements are the components of the vector ~v expressed in Fi
vb a column matrix whose 3 elements are the components of the vector ~v expressed in Fb
Rbi rotation matrix that transforms vectors from Fi to Fb
θ a column matrix those 3 elements are the Euler angles ψ, θ, φ
ω
~ an angular velocity vector
ω
~ bi angular velocity of Fb with respect to Fi
ωbbi angular velocity of Fb with respect to Fi expressed in Fb
m total mass of the CSACS system
r position vector from the CSACS center of rotation (CR) to center of mass (CM)
v velocity of CM of the CSACS
H0 the CSACS angular momentum about CR
M0 combined applied external torques on the CSACS
Mtor torque applied by momentum exchange
Mg gravitational torque
Maer o aerodynamic torque
I. Introduction
The CubeSat project started in 1999 as a collaborative effort between Professor Jordi Puig-Suari of California
Polytechnic State University (Cal Poly) and Professor Bob Twiggs of Stanford University’s Space Systems Development
∗ PhD Candidate, Kevin T. Crofton Dept of Aerospace and Ocean Engineering, Blacksburg, VA 24061, AIAA Student Member.
† MS Candidate, Kevin T. Crofton Dept of Aerospace and Ocean Engineering, Blacksburg, VA 24061, AIAA Student Member.
‡ Professor, Kevin T. Crofton Dept of Aerospace and Ocean Engineering, Blacksburg, VA 24061, AIAA Associate Fellow.
2
Fig. 1 Specialty Components SRA250-R45 / 620-39128 spherical air bearing. It is important to note that this
air bearing is not the specific system used for the CSACS; rather, this similar system serves as a visual aid to
further understand how the overall system behaves [16]. The cusp and ball components of the air bearing are
Downloaded by UNIVERSITY OF ADELAIDE -INTERNET on January 16, 2018 | http://arc.aiaa.org | DOI: 10.2514/6.2018-1391
labeled accordingly, where approximately 10 microns of pressurized air separate the two surfaces and allow for
nearly frictionless rotation when the air bearing is operational.
systems are incapable of supporting CubeSats since the total mass is either negligible or within error margins in relation
to the overall mass of the simulator. Therefore, an increased need to test the state-of-the-art CubeSat ADCS has
started to surface in the small-satellite community. As this community continues to grow, more successful missions
are being conducted which lead to investigators seeking larger payload capabilities in order to fly more advanced
instrumentation. To accommodate these increasing capabilities, new 6U CubeSats and 12U prototype designs are in
development. Simulators now must be capable of accommodating this rapidly evolving growth trend, as well as handling
the increasingly advanced ADCS of larger frames.
Platform balancing is one of the most important issues that must be considered before testing. Taking all of the prior
into effect, the overall objective of this project is to use a black-box approach to develop a modular and affordable attitude
determination and control simulation platform that is capable of testing all current and future CubeSat attitude control
systems. Specifically, through accurate balancing techniques, the platform’s CM will be relocated to the geometric
center of the spherical air-bearing, significantly reducing gravitational torques, and generating a virtually torque-free
environment. A practical balancing procedure is developed for stabilizing the platform in the local horizontal plane,
with a reduced final residual torque.
A. Air Bearing
A Space Electronics, Inc. hemispherical gas air bearing, similar to Fig. 1, provides the nearly frictionless
environment for the CSACS system to operate. The flat portion of the hemisphere provides a surface for the CSACS
platform and allows for a limited three degrees of freedom (DOF) during testing. The platform top can support a 300 lb
payload, and allows for a full 360◦ rotation in yaw, with ±10◦ tilt from the horizontal in pitch and roll. From an internal
friction study by Space Electronics, Inc., there exists 0.01 mN·m of gravitational torque if the center of gravity of the
test article is aligned with the CR of the bearing within one ten millionth of an inch.
B. Platform
All CSACS hardware is mounted on a custom carbon fiber composite platform that is subsequently mounted to the
flat surface of the hemispherical component of the air bearing, as shown in Fig. 2. A 0.5 m diameter disk is used for a
6U platform.
C. Computing
A Beaglebone Black - Rev C is the command and control unit on-board the simulator. The Beaglebone features a
Texas Instruments AM3358 1 GHz ARM® Cortex-A8 Processor, 512 MB of DDR3L DRAM, 4 GB on-board flash
memory, a Linux operating system, and a USB host. The board runs on 5 VDC [17]. These specifications provide for
future capability expansion and modularity, as well as meeting future software and control requirement for years to
come.
3
Downloaded by UNIVERSITY OF ADELAIDE -INTERNET on January 16, 2018 | http://arc.aiaa.org | DOI: 10.2514/6.2018-1391
Fig. 2 The assembled Virginia Tech CubeSat Attitude Control Simulator platform. The carbon fiber platform
holds all of the CSACS control hardware, and rests on top of a similar air bearing configuration, as shown in
Fig. 1. This figure also contains a 6U CubeSat chassis, which would house all of the flight hardware of the
system. Not shown in the figure are the battery packs mounted underneath the platform, along with the power
distribution board.
4
D. Inertial Measurement Unit
The VectorNav VN-100 Rugged IMU (Fig. 2) is used to measure the angular position of the platform. Using the
latest solid-state micro-electromechanical systems (MEMS) sensor technology, the VN-100 combines a set of 3-axis
accelerometers, 3-axis gyroscopes, 3-axis magnetometers, a barometric pressure sensor, and a 32-bit processor [18].
The VN-100 is capable of providing the angular position of the CSACS in pitch, roll, and yaw to the hundred-millionth
degree, which is required knowledge to eliminate parasitic gravitational torque. Currently, an updated Python library
version is incorporated in the CSACS software for communication with the IMU and simple read/write software
capabilities.
Haydon-Kerk PCM-4806E micro-controller has a built-in encoder and can control the motors to 1/64 step, providing a
total resolution of 7.85×10−7 in. The Haydon-Kerk 21F4U2.5-ENG linear stepper motor has a step size of 6×10−5 in.
over a 4 in. screw. The motor assemblies have a custom designed 3D printed mount, as the screw must be fixed to allow
for precise movement of the motor. The capabilities of these motors allow for the precision center of gravity alignment
with the CR of the air bearing.
G. Software
The platform is controlled using a real-time script developed in the Python 3.4 programming language. The software
provides the user with the ability to visualize the movement of the platform in real time, providing dynamic feedback
between the IMU and stepper motors, and data recording for supplemental analysis. Some software modifications were
implemented from previous CSACS software versions after the addition of a new VectorNav Library and new control
computer. At its core, the program uses the matplotlib module in Python to plot the pitch, roll, and yaw values from the
VectorNav every half second. This allows the user to visually determine the time necessary for complete balance and to
monitor the platform in real time. The software displays the actual values of the VectorNav so that manual balance can
be achieved. Additionally, the software can communicate with the motor controllers through ASCII commands for
automated table balancing.
5
The second rotation is about the î20 axis, through angle θ. The resulting frame is {î00 } or Fi00 , as shown in Fig. 3(b).
The rotation matrix from Fi0 to Fi00 is
cos θ 0 − sin θ
i00 i0
R = R2 (θ) = 0 1 0 ⇒ vi00 = R2 (θ)vi0 = R2 (θ)R3 (ψ)vi
(2)
sin θ 0 cos θ
00
Here, we can see that Ri i = R2 (θ)R3 (ψ) is the rotation matrix transforming vectors from Fi to Fi00 .
The third rotation is about the î100 axis, through angle φ. The resulting frame is {b̂} or Fb , as shown in Fig. 3(c). The
rotation matrix from Fi00 to Fb is
Downloaded by UNIVERSITY OF ADELAIDE -INTERNET on January 16, 2018 | http://arc.aiaa.org | DOI: 10.2514/6.2018-1391
1 0 0
bi00
R = R1 (φ) = 0 cos φ sin φ ⇒ vb = R1 (φ)vi00 = R1 (φ)R2 (θ)R3 (ψ)vi
(3)
0 − sin φ cos φ
Here, we can see that Rbi = R1 (φ)R2 (θ)R3 (ψ) is the rotation matrix transforming vectors from Fi to Fb .
We have now developed the 3-2-1 rotation from an inertial coordinate system, Fi , to a body-fixed system, Fb . The
expanded 3-2-1 rotation matrix is presented in Eq. (4)
Fig. 3 3-2-1 Euler Angle Rotation. (a) First rotation of angle ψ around the î3 axis (b) Second rotation of angle
θ around the î20 axis (c) Third rotation of angle φ around the î100 axis [19].
Now, we will derive the angular velocities from the Euler angles. The Euler rate equations become part of the
equations of motion for CSACS. The rate equations represent the time rate of change of the Euler angles in terms of the
6
Euler angles and the body-fixed angular rates. The derivation for the 3-2-1 rotation is similar to the development of the
rotation matrices above. We will develop the angular velocity one frame-to-frame at a time, i.e., from Fi to Fi0 to Fi00 to
Fb [19].
Again, the first rotation is about the î3 ≡ î30 axis, through angle ψ. The resulting frame is {î0 } or Fi0 . The angular
velocity of Fi0 with respect to Fi is
0
ω
~ i i = ψ̇ î3 = ψ̇ î30 (5)
We can express Eq. (5) in any frame, but Fi and Fi0 are trivial in this case
0 f gT
ωii i = 0 0 ψ̇
0 f gT (6)
ωii0 i = 0 0 ψ̇
Downloaded by UNIVERSITY OF ADELAIDE -INTERNET on January 16, 2018 | http://arc.aiaa.org | DOI: 10.2514/6.2018-1391
0
keeping in mind the notation that ωii i is the angular velocity of Fi0 with respect to Fi expressed in Fi .
The second rotation is about the î20 ≡ î200 axis, through angle θ. The resulting frame is {î00 } or Fi00 . The angular
velocity of Fi00 with respect to Fi0 is
00 0
ω
~ i i = θ̇ î20 = θ̇ î200 (7)
We can express Eq. (7) in any frame, but Fi0 and Fi00 are trivial in this case
00 0 f gT
ωii0 i = 0 θ̇ 0
00 0 f gT (8)
ωii00 i = 0 θ̇ 0
00 0
keeping in mind the notation that ωii0 i is the angular velocity of Fi00 with respect to Fi0 expressed in Fi0 .
The third rotation is about the î100 ≡ b̂1 axis, through angle φ. The resulting frame is {b̂} or Fb . The angular velocity
of Fb with respect to Fi00 is
00
ω
~ bi = φ̇î100 = φ̇b̂1 (9)
We can express Eq. (9) in any frame, but Fi00 and Fb are trivial in this case
00 f gT
ωibi00 = φ̇ 0 0
00 f gT (10)
ωbbi = φ̇ 0 0
00
keeping in mind the notation that ωbbi is the angular velocity of Fb with respect to Fi00 expressed in Fb .
Now, we can solve for ωbbi by simply adding the angular velocities. However, because we have expressed our angular
velocities in different reference frames; to add them together, we need to express all of them in the same frame. We
accomplish this by using our previously developed rotation matrices
00 00 0 0
ωbbi = ωbbi + ωib i + ωib i
00 00 00 0 0 0
= ωbbi + Rbi ωii00 i + Rbi ωii0 i
00 00 00 0 00 00 0 0
= ωbbi + Rbi ωii00 i + Rbi Ri i ωii0 i
Carrying out the multiplications and additions, Eq. (11) can be expanded to
7
Writing Eq. (12) in the form ωbbi = S(θ) θ̇, we can then form a solution for the Euler angle rates by inverting S(θ), i.e.,
θ̇ = S −1 (θ)ωbbi . In expanded form,
sin φ cos φ
ψ̇ 0 ω x
cos θ cos θ
θ̇ = 0 cos φ − sin φ ωy (13)
sin φ sin θ cos φ sin θ
φ̇ 1 ωz
cos θ cos θ
For this specific Euler angle set (3-2-1), there exists a kinematic singularity when θ = 90 degrees. However, since
CSACS is mechanically constrained to ±10◦ tilt from the horizontal in pitch and roll, the kinematic singularity is not a
concern. f gT
Note that in the remaining sections of this report, we will denote ωbbi = ω x ωy ωz in shorthand notation ωb ,
in order to reduce notation clutter.
Downloaded by UNIVERSITY OF ADELAIDE -INTERNET on January 16, 2018 | http://arc.aiaa.org | DOI: 10.2514/6.2018-1391
The CSACS can be modeled as a rigid body with the CM placed at a distance of r from the CR, which is the ball
bearing. The model uses an intertial coordinate frame Fi that is fixed to the earth, and a body-centered coordinate frame
Fb which is fixed to CSACS. The angular momentum about the CR is
H0 = m(r × v) (14)
where m is the total system mass, r is the vector from the CR to the CM, and v is the velocity of the CM [20]. The time
rate of change of the angular momentum is equal to the applied external torques
dH0
= M0 (15)
dt
where M0 is the applied external torques. When the CM is not located at the CR, the time rate of change of angular
momentum is written
dH0
= (r × mr̈) + Ḣc + [ωb × (r × mṙ)] + (ωb × Hc ) (16)
dt
where Hc is the angular momentum about the CM, and ωb is the angular velocity about the body-fixed axis [20]. The
assumptions required to use Eq. (16) are that the translational acceleration of the CR is zero and that the CSACS is a
rigid body [20]. The right-hand side of Eq. (15) can be split into separate terms
8
M0 = Mtor + Mg + Maero (17)
where Mtor is the torque applied by momentum exchangers, Mg is the gravitational torque from the CM offset, and
Maer o is the aerodynamic torque. These terms are defined as
f gT
Mtor = Mx My Mz (18)
and
f gT
Maer o = − bx ω2x by ωy2 bz ωz2 (20)
where bx , by , and bz are damping coefficients. It is beneficial to combine the torques into a single term, M
Aω̇ + B = M (23)
where A and B are defined in Eq. (24) and Eq. (25)
ω̇ = A−1 (M − B) (26)
This equation can be integrated and solved simultaneously with the Euler rate equations in Eq. (12). The equations
of motion can be greatly simplified by assuming that ω, r, products of inertia, and Maero are small compared to other
terms and that Mtor is zero [20]. These assumptions give way to a simplified form of the equations of motion
mg
I x x (−r y cos φ cos θ + r z sin φ cos θ)
mg
ω̇ = Iy y (r x cos φ cos θ + r z sin θ) (27)
mg
Iz z (−r x sin φ cos θ − r y sin θ)
9
C. Center of Mass Location for Dynamic Balancing
A common procedure used to balance air-bearing satellite simulators is known as manual balancing. Although
this is an iterative and time-consuming process at times, it is simple in its conception and execution. An operator
simply adjusts weights in various locations on the simulator in order to properly position the CM over the CR. As an
improvement over the iterative process of manual balancing, an automatic balancing procedure is derived below. This
technique automatically calculates the CM location and adjusts it to a location close to the CR.
The first step in the automatic balancing process is locating the CM of the CSACS. The simplified equations of
motion (see Eq. (27)) are integrated individually over a short time period to produce three equations for each time step.
Assuming that θ and φ remain relatively constant over a small time step, the integration procedure simplifies. After
integration, the three equations contain only three unknowns, which are the CM offset distance vector components of r.
These equations can be written as
−mg ∆t
Downloaded by UNIVERSITY OF ADELAIDE -INTERNET on January 16, 2018 | http://arc.aiaa.org | DOI: 10.2514/6.2018-1391
ω x t2 − ω x t1 = [((cos φ cos θ)t2 + (cos φ cos θ)t1 )r y − ((sin φ cos θ)t2 + (sin φ cos θ)t1 )r z ] (28)
2Ixx
mg ∆t
ω yt2 − ω yt1 = [((cos φ cos θ)t2 + (cos φ cos θ)t1 )r x − ((sin θ)t2 + (sin θ)t1 )r z ] (29)
2Iyy
−mg ∆t
ω z t2 − ω z t1 = [((sin φ cos θ)t2 + (sin φ cos θ)t1 )r x − ((sin θ)t2 + (sin θ)t1 )r y ] (30)
2Izz
Placing these equations in matrix form gives
where the six values for Φ are assumed constant for a given time step. These values are found by manipulating the
expressions found in equations (28), (29), and (30) and are provided in appendix B.
Condensing Eq. (31) even further
∆Ω = Φr (32)
These equations can be solved for r using the method of least squares by finding an estimate for a solution using all
of the recorded data. Collecting these equations into matrix form, and expanding the matrices for many time steps gives
∆ω
( x ) t1 = 0 (Φ12 )t1 (Φ13 )t1 r y (33)
( ∆ωy )t (Φ21 )t 0
(Φ23 )t1
r z
1 1
∆ω
( )
z t1 (Φ
31 t1) (Φ32 )t1 0
.. ..
. .
∆Ω L = Φ L r (34)
IV. Results
With Eqs. (26) and (13), an algorithm was developed in Matlab to simulate the nonlinear dynamics of the CSACS.
There was limited time to develop a thorough mass model of the tabletop and individual components, so generic values
10
from a previous study [21] were used to validate results. The system mass and inertia tensor are as given
f gT
rC M = 0.0950 0.2693 −2.6712 mm
where rC M is the ‘true’, measured position of the CM relative to the CR at the beginning of the simulation.
The simulation was run for 60 seconds to produce the state time-histories in Fig. 5. The simulation produces secular
yaw about the table’s z-axis, while the roll and pitch oscillate with a period of around 9 seconds. This is a significant
amount of unwanted motion, mainly due to the offset CM. This demonstrates why it is crucial to have a robust method
for balancing the CSACS.
After the simulation finishes producing the state time-histories, it runs a linear least-squares estimator on the position
of the table’s CM with respect to its CR. The estimated position vector for this simulation is
f gT
r̂C M = 0.09460 0.2707 −2.680 mm
The estimator produced a prediction of r̂C M very close to the initial, true value of rC M used in the simulation. More
specifically, the error between the two is
f gT
δrC M = 1.0 ∗ 10−5 −0.0402 0.1387 −0.8826 mm
which is under 0.001 mm magnitude. This should allow for an accurate auto-balancing algorithm to be developed in
the future.
V. Conclusion
The CSACS system developed in the Virginia Tech Space Systems Simulation Laboratory provides an inexpensive
and easy to use CubeSat ADCS simulation environment for the intended use of students, educators, and professionals in
both academic and industry settings. The platform is designed using a black-box approach. A VectorNav VN-100 IMU
determines the roll, pitch, and yaw of the interchangeable carbon-fiber test platforms, and linear controlled actuators
balance the table within one ten-millionth of an inch of the CR of a hemispherical gas air bearing. A power regulation
board, designed for system modularity, generates power across the platform’s hardware. Embedded software controls
the capabilities that provide the user with real-time platform balancing. Continued research and development of the
CSACS system will eventually lead to a stand-alone platform that enables the rapid prototyping of attitude control
systems for public use.
Utilizing the nonlinear dynamics of the CSACS, a platform balancing procedure was developed to reduce the
gravitational torques influencing the motion of the spacecraft simulator. A simulation determines the platform CM by
analyzing the integrated equations of motion of the CSACS. The simulation uses the method of least squares to estimate
the position from the CR to the CM. The CM of the simulator is then moved near the CR by means of movable masses
that are adjusted to the correct location. It is shown that it is possible to carry out static balancing, maintaining the forces
actuating only over a plane, reaching equilibrium on the platform. This development shows that an automatic static
balancing system allows important savings in space, mass, and complexity compared with manual balancing approaches
[22].
Future work entails proper determination of the mass properties of the CSACS systems [23]. Once adequate mass
properties are acquired, these values can be fully integrated with the platform balancing procedure previously developed,
and validated through experimental testing. Incorporation of a self-balancing algorithm embedded in the control
computer will be examined given the CSACS motor actuation limits. Integration of a reaction wheel stack consisting of
four wheels will be implemented on the CSACS platform in order to provide dynamic simulation capability.
11
Downloaded by UNIVERSITY OF ADELAIDE -INTERNET on January 16, 2018 | http://arc.aiaa.org | DOI: 10.2514/6.2018-1391
Fig. 5 Simulation of CSACS nonlinear dynamics for 60 second interval using the full, nonlinear equations of
motion.
12
VI. Acknowledgements
The authors would like to thank Nick Tibbetts, Jordan Schafer, Keith Tiemann, and all the other current and former
Virginia Tech students who have contributed to this project.
Appendix
−mg ∆t
Φ12 = ((cos φ cos θ)t2 + (cos φ cos θ)t1 )
2Ixx
mg ∆t
Φ13 = ((sin φ cos θ)t2 + (sin φ cos θ)t1 )
2Ixx
mg ∆t
Φ21 = ((cos φ cos θ)t2 + (cos φ cos θ)t1 )
2Iyy
mg ∆t
Φ23 = ((sin θ)t2 + (sin θ)t1 )
2Iyy
−mg ∆t
Φ31 = ((sin φ cos θ)t2 + (sin φ cos θ)t1 )
2Izz
−mg ∆t
Φ32 = ((sin θ)t2 + (sin θ)t1 )
2Izz
References
[1] Mehrparbar, A., “CubeSat Design Specification,” , February 2014.
[2] Mitskevich, A., “Launch Services Program: Program Level Dispenser and CubeSat Requirements Document,” Tech. rep., John
F. Kennedy Space Center, Florida, January 2014.
[3] Buchen, E., and DePasquale, D., “Nano/Microsatellite Market Assessment,” Tech. rep., 2014.
[4] Thomas, D., Mott, K., Tetreault, K., Nastasi, K., Elliott, I., Scheible, R., Ohriner, E., and Black, J., “Real-Time On-board
Estimation and Optimal Control of Autonomous Micro-Satellite Proximity Operations,” 55th AIAA Aerospace Sciences Meeting,
AIAA, doi:10.2514/6.2017-0398, 2017.
13
[5] Wolosik, A., and Black, J., “Development of a Low-Flying CubeSat Mission for F-Region Characterization,” 55th AIAA
Aerospace Sciences Meeting, AIAA, doi:10.2514/6.2017-0161, 2017.
[6] Angarita, J., and Black, J., “Trajectory Planning Optimization using Genetic Algorithms,” AIAA Space 2016 Forum, AIAA,
doi:10.2514/6.2016-5357, 2016.
[7] Nastasi, K., Thomas, D., Tetreault, K., Elliott, I., and Black, J., “Real-Time Optimal Control and Tracking of Autonomous
Micro-Satellite Proximity Operations,” AIAA Space 2016 Forum, AIAA, doi:10.2514/6.2016-5617, 2016.
[8] Larson, W. J., and Wertz, J. R., Space Mission Analysis and Design, 3rd ed., Microcosm, Hawthorne, CA, 1999.
[9] Farhat, A., Ivase, J., and Snapp, A., “Attitude Determination and Control System for CubeSat,” Tech. rep., 2013.
[10] Schwartz, J., Peck, M., and Hall, C., “Historical Review of Air-Bearing Spacecraft Simulators,” Vol. 26, 2003.
Downloaded by UNIVERSITY OF ADELAIDE -INTERNET on January 16, 2018 | http://arc.aiaa.org | DOI: 10.2514/6.2018-1391
[11] Kim, B., Velenis, E., Kriengsiri, P., and Tsiotras, P., “Designing a low-cost spacecraft simulator,” 2003.
[12] Fullmer, R., Peterson, G., Holmans, W., Smith, J., Nottingham, J., Anderson, S., Olsen, T., and Redd, F., “The Development of
a Small Satellite Attitude Control Simulator,” 1992.
[13] Brewer, M., “CubeSat Attitude Determination and Helmholtz Cage Design,” , March 2012.
[14] Dannemeyer, E., “Design and Analysis of an Attitude Determination and Control Subsystem (ADCS) for AFIT’s 6U Standard
Bus,” , March 2014.
[15] Tibbs, M., “Design and Test of an Attitude Determination and Control System for a 6U CubeSat Using AFIT’s CubeSat Testbed,”
, March 2015.
[19] Vallado, D., Fundamentals of Astrodynamics and Applications, 4th ed., Space Technology Library, Microcosm Press, Hawthorne,
California, 2013.
[20] Greenwood, D., Principles of Dynamics, 2nd ed., Prentice-Hall, Inc, Englewood Cliffs, NJ, 1988.
[21] Young, J., “Development of an Automatic Balancing System for a Small Satellite Attitude Control Simulator,” , 1988.
[22] Prado, J., and Bisiacchi, G., “Dynamic Balancing for a Satellite Attitude Control Simulator,” Vol. 4, 2000.
[23] Olsen, T., “Design of an adaptive balancing system for the small satellite attitude control simulator (SSACS),” , 1995.
14