Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

FloatSat Paper6 (2

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

An educational platform for testing and evaluating

satellite control algorithms in a real-time and


frictionless environment.
Khubaib Ahmad1, Arslan Arif1, M Kamran Saleem1, Awais A Khan2, and Sergio Montenegro3
1
EED, Faculty of Engineering, University of Central Punjab, Lahore, Pakistan.
2
Department of Mechanical Engineering, University of Engineering and Technology, Lahore, Pakistan.
3
Institute of Aerospace Information Technology, Julius-Maximilians University, Wurzburg, Germany.

Abstract – Floating satellite (FloatSat) platform for testing


and evaluation of Pico/Nano satellite in nearly a frictionless
environment. In this paper we have presented its basic setup and
applications regarding communication and control of its speed
and velocity. This proposed educational hardware setup serves
as a benchmark for students to learn basic satellite
system/subsystem. Furthermore, the setup can be utilized to test
and evaluate control algorithms for various space missions.

Index Terms: satellite subsystem, RODOS, Aerospace,


Operational modes of satellite, satellite test, and evaluation
Fig 1. Floating Satellite (FloatSat) platform.
I. INTRODUCTION
In the field of Aerospace technology, various projects II. HARDWARE PLATFORM
were done to simulate a small satellite or test/evaluate The spherical Air Bearing Unit (SABU) is the most important
satellite subsystems such as the 3DoF test bench for CubeSats part of the Floating Satellite system. This air-bearing unit has
[1], Simulation satellite [2], the open prototype for a very smooth finished inner surface and holes. These holes
educational Nanosats [3], robotic test bench [4], CubeSat provide the pressurized Air to lift the mass up in the Air to
simulator [5], and satellite balancer [6]. The focus of this about 1mm. The weight of the spherical air bearing unit is
communication is on FloatSat [7] (Floating Satellite) platform 2.75 kg and its inner diameter is 18.22 cm. The two acrylic
specifically designed for students to get familiar with basic hemispheres cover the Float-Sat avionic system. These shells
satellite subsystems. Furthermore, the proposed educational are made according to the curve surface of the air bearing
platform gives a unique opportunity to develop and test unit. It moves freely to achieve a gravity-free environment.
various attitudes and control algorithms of a satellite in a The diameter of the hemisphere shell is about 20cm and its
frictionless space-like environment. weight of 155g. The Float-Sat is the frame that contains the
The proposed FloatSat platform is shown in Fig. 1. It avionics of the system. The FloatSat with basic modules has a
consists of the basic satellite subsystems. To control the total weight of 1.19kg. These modules interact with each
orientation of the satellite in one dimension a reaction wheel other to achieve the basic functionality of a real satellite. Fig.
is mounted at the center of the horizontal plane of the 2 shows different modules of FloatSat system as follows
mechanical structure. Various electrical and mechanical The Reaction wheel attached to the bottom end of the
components are integrated to simulate a basic satellite FloatSat is used to generate torque when the rotational speed
Section II describes the hardware incorporated in FloatSat of the wheel is changed. The weight of the reaction wheel on
which is controlled by Real-Time On-Board Dependable FloatSat is 280g. The moment of inertia produced by the
Operating System (RODOS). Section III provides a brief wheel is 1.175x10-4 kgm2. A brushed dc motor is attached to
introduction to RODOS. Followed by a brief description of run the reaction wheel. At 12V the motor is running at 11000
various applications such as extraction of sensor data, revolutions per minute (RPM) with a current of 300mA. The
wireless connectivity of hardware in real time, satellite generated torque is 0.3 kgm2. In float-Sat, this motor is
attitude control along with results in section IV. Finally a powered by a 5V dc. The maximum motor current at 5V is
conclusion is drawn at the end in section V. 170mA and the motor speed is 4616 RPM.
The power source of the Float-Sat is the two Lithium Iron
Phosphate (LiFePo4) batteries. There are 2 cells in a single
battery with a capacity of 2100mah. The battery is fully
charged at 7.2V with the balance charge. There are 2 cells in
a single battery with a capacity of 2100mah. The battery is
fully charged at 7.2V with the balance charge.
STM32F407G DISC-1 is the microcontroller used to control
all modules’ functionality in Float-Sat. HC-06 Bluetooth
device is used to send and receive data wirelessly over a
distance of less than 100 meters. LSM9DS1 is an IMU used
to calculate the object velocity, orientation, and gravitational
forces using the combination of an accelerometer, gyroscope,
and magnetometer. A voltage regulator is a DC-DC step-
down converter used to power up all the electrical
components in the Float-Sat system. The input operating
voltage is 6-38V and the output voltage is 5V. Motor Driver
is used for controlling the motor speed and direction with a
PWM signal and two GPIO signals respectively. Fig. 3. RODOS framework.

IV. APPLICATIONS
In this section, we will describe some of the applications
tested on top of RODOS on FloatSat hardware. The results of
each are discussed along with its implementation.
A. INERTIAL DATA EXTRACTION AND ESTABLISHING
CONNECTIVITY.
The first step is to establish a basic configuration and set
up the wireless communication link between the FloatSat and
PC. In this regard, the LSM9DS1 Inertial Measurement Unit
(IMU) is utilized in FloatSat for measuring the object's
velocity, orientation, and gravitational force with 9 Degree of
Freedom, 3 degrees for each gyroscope, accelerometer, and
magnetometer. The IMU uses the I2C protocol to interact
with the controller device. Each axis in 9DOF has a 16-bit
data output. The sensitivity range for each sensor in IMU is
configurable and has an embedded temperature sensor inside
Fig 2. FloatSat Modules it. IMU Data includes 3-axis Gyroscope values, 3-axis
Accelerometer values, 3-axis Magnetometer values, and
III. SOFTWARE PLATFORM pitch, roll, and yaw values of the system. Initial calibration
for the gyroscope and accelerometer can be done by taking
The Software Architecture of floating Satellites is based the 1000 samples for each axis in a standstill position. These
on Real-Time On-Board Dependable Operating System samples are then averaged to generate bias values
(RODOS) [8]. Every thread inside RODOS runs parallel to corresponding to 0 deg/sec measurement. The angular
each other in Real-time. The current version of RODOS is velocity and linear acceleration can be calculated by using the
developed for the STM32F407G discovery board. However, calibrated bias values and the corresponding equations for
it can be tailored for other devices. The software components pitch, roll, and yaw. Next, the partial derivatives of pitch, roll
in RODOS adjust each other to provide dependable and yaw are calculated. Finally, the orientation angles of the
computing [9]. RODOS framework is illustrated in Fig. 3. system concerning the fixed coordinate system can be
RODOS control both the operating system (OS) and calculated using the Euler convention. The calibration
microelectromechanical system (MEM). On the top, there is process for the Magnetometer can be done by calculating the
the software middleware (MW), around MW the user minimum and maximum value for all three axes by rotating
implements its application program (AP). Each node provides the sensor in all directions.
a gateway to communicate with the external network and To establish wireless communication HC-06 Bluetooth
input/output (I/O) device. There are around 48 library header module is used for short-range wireless data communication
files, to govern the RODOS operating system. Application between the microcontroller and PC. The data rate is 2.1
Programmable Interface (API) accesses the data and interacts Mb/s. FTDI32-TTL module is used to configure the baud rate
with external hardware and software components. of the HC-06 module. This is done to connect Bluetooth
using the UART protocol with the RODOS library. Pair the
Bluetooth Module with the PC and link it with Hyper-
Terminal with the correct COM port to examine the data. The
algorithm for the purpose is as follows:
 Make a write function to send the data on the UART
port inside Bluetooth Thread.
 Make a Bluetooth thread to process the data
 Initialize the peripheral parameters.
 Loop inside Bluetooth thread runs every 1 second.
 Data is printed on Hyper-terminal by writing the data
into a string.
After implementing the algorithm on eclipse IDE, we get 9-
DoF values, 3 for each gyroscope, magnetometer, and
accelerometer, and orientation angles pitch, roll, and yaw on
hyper-terminal as shown in fig. 4.
Fig 5. Publish Subscribed Network

The Attitude Control Algorithm for the FloatSat has four


main threads that communicate with each other via
communication channels i.e. sensor thread, telecommand
thread, telemetry thread, and mode thread. The Description
for these threads is as follows:

a. Sensor Thread
The first thread is the “Sensors” thread that runs at a 5ms
time interval. This thread collects sensor information,
processes them, and then publishes the data stored in the
"sensor Data" structure into the "Sensor Data Topic" to be
received by other threads. All the values of sensors i.e.
angular velocity, linear acceleration, Magnetic Flux density,
Fig 4. IMU Data Extraction pitch, roll, yaw, temperature, and motor speed are computed
under this thread. Next, filters are used to minimize the error
of attitude estimation. Mahoney and Madgwick filters are
B. ATTITUDE CONTROL ALGORITHM implemented instead of simple complementary filters because
The Control system is a crucial part of any dynamic under complementary filters attitude error is ignored and the
system in which the output of the system tracks the desired case drifts over time resulting in wrong measurements. The
input and output is feedback to compare with the desired flow chart of the sensor thread is shown in Fig. 6 and its
input to reduce error. This closed-loop system is very working algorithm is as follows:
important against unmeasured disturbances to keep track of
input. The Attitude control algorithm in float-Sat dynamics is  Sensor Thread class computes the IMU parameters.
completely based on the published subscribed protocol as  Initialize peripherals i.e. SPI, ADC, and Encoder. This
shown in Fig. 5. In this system, some threads represent the is done to link peripherals with the RODOS library.
publisher sending the data on communication channels called  If IMU is not properly connected, send the error
topics, and some threads represent subscribers to get the data message "Failed to communicate with IMU" and end
from the topics after getting registered to it. the thread.
 If IMU data is ready to compute parameters. Calibrate
the Gyroscope, to remove the initial error.
 Time-Loop is running every 5ms to collect the
(Attitude Heading Reference system) AHRS values.
The AHRS contains a different filter to find IMU data
with minimum error.
 Calculate Motor speed and motor current.
 All the sensor data is being published on the sensor
data topic to be received by subscribers.
Where,
“$” is the Message Start Character [1 byte].
“#” is the Message End Character [1byte].
“X” is the Message-ID Character [1 byte].

Data are ASCII characters that correspond to a valid


floating-point number [0 –12 bytes]. The message ID
character includes:
 ON and OFF the Telemetry data bypassing T1 and T0
as a message ID respectively.
 Attitude Heading Reference System (AHRS) Mode
from A1 through A8 for Computing Sensor Data
through different Filters. By Default, AHRS mode is
set to Mahoney Filter if the command is not sent
manually.
 System Mode form M0 through M2 for going to
Standby mode, Speed mode, and Velocity mode
respectively. After entering the respective mode, pass
the value of motor speed and Float-Sat Velocity e.g.
S+200 and V+20 respectively.
The sample telecommand sequence for velocity mode and
then set velocity to 50 deg/sec is "$M2#" and "$V+50#"
respectively.
Fig. 8 describes the working of the Telecommand thread
as follows:
 Initialize the peripherals for Telecommand i.e. LED
and a baud rate.
 The while loop is running to decode the data.
 Suspend until the new data come to the receive
buffer. The new data is the command given by the
user.
 If new data is received in the buffer, the thread will
read the data.
 Decode the received data according to the
telecommand pattern discussed earlier.

c. Telemetry Thread
The third thread is the “Telemetry” thread runs at a
1000ms time interval. Fig. 7 shows telemetry data including
Accelerometer Axis, Gyroscope Axis, Magnetometer Axis,
yaw, pitch, roll, motor speed, and motor current. This thread
publishes the sensor’s information to the ground station i.e.
Hyper-Terminal.

Fig. 6. Algorithm of Sensor Thread

b. Telecommand Thread
The second thread is the “Telecommand” thread that runs
once data is received. This thread decodes the received
telecommand messages and publishes the data stored in the
telecommand data structure into the telecommand data topic Fig. 7. Telemetry On Hyper-Terminal
to be received by other threads. This is done only if the
message is valid. The message body of the telecommand
should have the following format “$Xdata#”
Fig. 9 describes the working of the Telemetry thread as direction signal goes to the H-Bridge motor driver and
follows: outputs the desired current. Then the encoder calculates the
 The time loop is running and prints data on the actual speed and feeds it back to compute the error. This
terminal every 1 second. feedback loop runs until zero error is achieved and also
 This thread receives sensor data and telecommand counteracts unmeasured disturbances.
data.
 If this thread receives telecommand related to
telemetry, the data is printed on Hyper-terminal.

Fig. 9. Algorithm of Telemetry Thread

Fig. 8. Algorithm of Telecommand Thread

d. Modes Thread
The fourth thread is the “Modes” thread runs at a 10ms time
interval. This thread runs a different operation mode for the
FloatSat. There are two main modes of operation i.e.
 Speed control mode
 Velocity control mode
The PI controller is implemented to control the motor speed
and a complete description of the code is given in Fig. 10.
The reference speed is given by the user by sending a related
telecommand. The speed calculation from the encoder is the
actual speed. Reference speed is subtracted from the actual
speed to generate the error value. This error is computed in
the PI controller and a control signal is generated. This signal Fig. 10. Algorithm of Speed Mode
passes to the actuator signal generator to compute the
direction and PWM signals accordingly. The PWM and
After implementing this we get the result in which the
telecommand sends to achieve the motor speed of 1000 rpm
and the motor speed is set to our desired value as shown in
Fig. 11.

Fig. 13. Result of FloatSat Velocity Mode


IV. CONCLUSION
In this paper, we have discussed the basic hardware and
Fig. 11. Result of Motor Speed Mode software setup of FloatSat. After this initial setup and
configuration, the system is ready to implement, test, and
For controlling the FloatSat velocity, the PI controller is verify the outputs of any space mission added to this setup.
implemented and Fig. 12 describes the velocity mode This type of hardware will not only allow students to learn
behavior. The input velocity is given by the user by sending and develop their mission and algorithm but also allow them
related telecommands. The IMU measures the angular to test and verify the results beforehand.
velocity which is the actual velocity of the Floating Satellite.
The actual velocity is subtracted from the reference velocity V. REFERENCES
to calculate the error. This error is then computed in the PI
controller and a control signal is generated. The PWM signal, 1. Irina Gavrilovich, Sebastien Krut, Marc Gouttefarde,
direction signal, and current is generated from the H-bridge Franc ̧ois Pierrot, ́Laurent Dusseau, “Test Bench
motor driver. The Floating Satellite system stabilizes itself to For Nanosatellite Attitude Determination And
the desired velocity by feeding back the IMU data of the Control System Ground Tests,” 4S: Small Satellites
moving Satellite until zero error is achieved. Systems and Services Symposium, May 2014, Porto
Petro, Spain.
2. Tragesser, S., Agnes, G. (2002, June), “Simsat: A
Ground Based Platform For Demonstrating Satellite
Attitude Dynamics And Con-trol”, presented at 2002
Annual Conference, Montreal, Canada.
3. J. Berk, J. Straub and D. Whalen, “The open
prototype for educational Nanosats: Fixing the other
side of the small satellite cost equation,” 2013 IEEE
Aerospace Conference, Big Sky, MT, 2013, pp. 1-16,
doi: 10.1109/AERO.2013.6497393.
4. I. Gavrilovich, S. Krut, M. Gouttefarde, F. Pierrot
and L. Dusseau, "Robotic test bench for CubeSat
ground testing: Concept and satellite dynamic
parameter identification", 2015 IEEE/RSJ
International Conference on Intelligent Robots and
Systems (IROS), 2015.
5. Suhandinata and M. Setiawan, "Development of 1U
Fig. 12. Algorithm of Velocity Mode CubeSat attitude determination and control system
simulator", THE 8TH INTERNATIONAL SEMINAR
After completing this on Eclipse IDE, (as in Fig. 13) the ON AEROSPACE SCIENCE AND TECHNOLOGY –
following result in which the telecommand related to velocity ISAST 2020, 2021.
is sent and achieves the same velocity as the value of gz which 6. A. Curatolo, A. Bahu and D. Modenini, "Automatic
is 30 deg/s on the hyper-terminal. Balancing for Satellite Simulators with Mixed
Mechanical and Magnetic Actuation", Aerospace,
vol. 9, no. 4, p. 223, 2022.
7. Redah, M. Faisal and S. Montenegro, "The Floating
Satellite System as an Educational Platform for
Space Applications", 2020 IEEE 32nd Conference
on Software Engineering Education and Training
(CSEE&T), 2020.
8. Dr. Sergio Montenegro, Frank Dannemann ”RODOS
Real Time Kernel Design for Dependability” DLR,
Institute of Space Systems, Robert-Hooke-Str. 7,
28359 Bremen, Germany.
9. Frank Dannemann and Sergio Montenegro
“Embedded Logging Frame- Work For
SpaceCrafts,” DASIA (Data Systems In Aerospace),
Porto, Portugal, 2013.

You might also like