MASTER'S THESIS Model Development and Attitude Control for pico-satellite UWE-4 Siddharth Dadhich 2015 Master of Science (120 credits) Space Engineering - Space Master Luleå University of Technology Department of Computer Science, Electrical and Space Engineering Master Thesis Model Development and Attitude Control for pico-satellite UWE-4 written by Siddharth Dadhich November 3, 2014 Julius-Maximilians-University Würzburg Department of Computer Science, Robotics and Telematics Examiner I Prof. Dr. rer. nat Klaus Schilling Professor and Chair Informatics VII : Robotics and Telematics Informatics Julius-Maximilians-University Würzburg ,Germany Examiner II Prof. Dr. Johnny Ejemalm Senior Lecturer Department of Computer Science, Electrical and Space Engineering Luleå University of Technology, Sweden Supervisor MSc. Philip Bangert Research Assistant Informatics VII : Robotics and Telematics Informatics Julius-Maximilians Universität Würzburg, Germany Date of the submission 03.11.2014 iii Declaration I hereby declare that this thesis is entirely the result of my own work except where otherwise indicated. I have only used the resources given in the list of references. Würzburg, 03.11.2014 (Siddharth Dadhich) iv Contents Abstract 1 1 Introduction 1.1 UWE . . . . . . . . . 1.1.1 UWE - 3 . . . 1.1.2 UWE - 4 . . . 1.2 Vacuum arc thrusters 1.3 State of art . . . . . 1.4 Orbit control vision . 1.5 Summary . . . . . . . . . . . . . 3 4 4 4 6 7 8 8 . . . . . . . . . . . . . . . . . . . 9 9 10 10 10 11 12 13 15 16 16 17 17 19 19 20 20 21 21 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 System Models 2.1 Coordinate frames and attitude definition 2.1.1 ECI and ECEF . . . . . . . . . . . 2.1.2 Orbit coordinate frame (OCF) . . . 2.1.3 Body coordinate frame (BCF) . . . 2.1.4 Control coordinate frame (CCF) . 2.1.5 Attitude definition . . . . . . . . . 2.2 Satellite dynamics . . . . . . . . . . . . . . 2.3 Sensor models . . . . . . . . . . . . . . . . 2.3.1 Gyroscope . . . . . . . . . . . . . . 2.3.2 Magnetometers . . . . . . . . . . . 2.4 Actuator models . . . . . . . . . . . . . . 2.4.1 Thrusters . . . . . . . . . . . . . . 2.4.2 Magnetic torquers . . . . . . . . . . 2.4.3 Reaction wheel . . . . . . . . . . . 2.5 Disturbance models (environment) . . . . 2.5.1 Aerodynamic drag . . . . . . . . . 2.5.2 Gravity gradient . . . . . . . . . . 2.5.3 Residual magnetic field . . . . . . . 2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Orbit Propagator 23 3.1 Modified SGP- 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 Simplified orbit propagator (SOP) with low thrust . . . . . . . . . . . 24 3.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 v Contents Contents 4 Attitude Control 4.1 Target attitude . . . . . . . . . . . . . . . . 4.1.1 In-track target attitude . . . . . . . . 4.1.2 Anti-in-track target attitude . . . . . 4.2 Control Laws . . . . . . . . . . . . . . . . . 4.2.1 PD control . . . . . . . . . . . . . . 4.2.2 Sliding mode control . . . . . . . . . 4.3 Magnetic control . . . . . . . . . . . . . . . 4.3.1 B-dot control . . . . . . . . . . . . . 4.3.2 Two axis pointing control . . . . . . 4.4 Thruster control . . . . . . . . . . . . . . . . 4.4.1 One quadrant based two-axis control 4.4.2 Two quadrant based two-axis control 4.5 Combination of torquers and thrusters . . . 4.6 Stability for large angle maneuvers . . . . . 4.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 29 30 31 32 32 33 34 34 34 35 35 36 36 37 37 5 Simulation Results 5.1 B-dot simulation . . . . . . . . . . . . . 5.2 Full magnetic control . . . . . . . . . . . 5.2.1 PD control law . . . . . . . . . . 5.2.2 SMC law . . . . . . . . . . . . . . 5.3 Full thruster control . . . . . . . . . . . 5.3.1 PD control law . . . . . . . . . . 5.3.2 SMC law . . . . . . . . . . . . . . 5.4 Combination of thrusters and torquers . 5.4.1 PD law with one quad thruster . 5.4.2 PD law with two quad thruster . 5.4.3 SMC law with one quad thruster 5.4.4 SMC law with two quad thruster 5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 41 42 42 43 45 45 47 48 49 51 52 54 58 . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Implementation 59 6.1 Hardware architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.2 Low level code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7 Conclusion and Future Work 7.1 Conclusions . . . . . . . . . . . . . . . . . 7.2 Future work . . . . . . . . . . . . . . . . . 7.2.1 Equal distribution of thruster usage 7.2.2 Controller stability analysis . . . . 7.2.3 Efficient use of torquers . . . . . . 7.2.4 Orbit Propagator . . . . . . . . . . vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 63 64 65 65 65 65 Contents Acknowledgments 67 Bibliography 69 Nomenclature 73 vii List of Tables 1.1 Classification of satellites according to size . . . . . . . . . . . . . . . 4 5.1 5.2 Simulation Initialization Parameters . . . . . . . . . . . . . . . . . . 41 Comparison of Different Simulated Scenarios . . . . . . . . . . . . . . 58 ix List of Figures 1.1 1.2 1.3 Structural overview of UWE-4 . . . . . . . . . . . . . . . . . . . . . . Design model of UWE-4 showing thruster locations . . . . . . . . . . Trailing formation of two satellites . . . . . . . . . . . . . . . . . . . 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Simulation software block diagram . . . . . . . . . . . . . . . Body coordinate frame . . . . . . . . . . . . . . . . . . . . . . Inertial coordinate frames: ECI and ECEF . . . . . . . . . . . Orbit coordinate frame and Control coordinate frame . . . . . Simulated gyroscopic data (left) vs UWE-3 gyro measurements Simulated Magnetometer Data . . . . . . . . . . . . . . . . . Thruster Plume variation . . . . . . . . . . . . . . . . . . . . Simulated Disturbance Torques . . . . . . . . . . . . . . . . . 3.1 3.2 3.3 3.4 Modified SGP-4 Propagator . . . . . . . . . . . . . . . . . . . . . . Simplified orbit propagator . . . . . . . . . . . . . . . . . . . . . . . Error in Simplified propagator from SGP-4 output . . . . . . . . . . Demonstration of Thruster effect seen as the separation of two satellites generated by Simplified orbit propagator . . . . . . . . . . . . 4.1 4.2 Schematic of the Controller . . . . . . . . . . . . . . . . . . . . . . . 30 Thruster control quadrants . . . . . . . . . . . . . . . . . . . . . . . . 35 5.1 5.2 39 . . . . . . . . . . . . . . . . (right) . . . . . . . . . . . . 5 6 7 9 11 12 13 15 17 19 22 . 24 . 25 . 26 . 26 Graphical User Interface (GUI) for simulation experiments . . . . . . B-dot result from simulation (left) vs UWE-3 de-tumbling experiment result (right) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Full magnetic control with PD law - Attitude and Angular Velocity . 5.4 Full Magnetic Control with PD control law - Magnetic Moment Output of Torquers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Full magnetic control with SMC law - Attitude and Angular Velocity 5.6 Full Magnetic Control with SMC control law - Magnetic Moment Output of Torquers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 Full thruster control with PD law - Attitude and Angular Velocity . . 5.8 Full thruster control with PD law - Settling Time . . . . . . . . . . . 5.9 Full thruster control with PD law - Settling Accuracy . . . . . . . . . 5.10 Full thruster control with PD law - Thruster firings per minute and Cumulative firings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11 Full thruster control with SMC law - Attitude and Angular Velocity . 42 43 43 44 44 45 46 46 46 47 xi List of Figures List of Figures 5.12 Full thruster control with SMC law - Settling Time . . . . . . . . . . 5.13 Full thruster control with SMC law - Settling Accuracy . . . . . . . . 5.14 Full thruster control with SMC law - Thruster firings per minute and Cumulative firings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.15 PD law with One Quad Thrusters - Attitude and Angular Velocity . 5.16 PD law with One Quad Thruster - Settling Accuracy and Settling Time 5.17 PD law with One Quad Thrusters - Thruster firings per minute and Cumulative firings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.18 PD law with One Quad Thrusters - Commanded Torque Load sharing between Thruster and Torquers in X and Y axis . . . . . . . . . . . . 5.19 PD law with One Quad Thrusters - Commanded Torque Load sharing in Z-axis and Magnetic Moment Output of Torquers . . . . . . . . . . 5.20 PD law with Two Quad Thrusters - Attitude and Angular Velocity . 5.21 PD law with Two Quad Thruster - Settling Accuracy and Settling Time 5.22 PD law with Two Quad Thrusters - Thruster firings per minute and Cumulative firings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.23 PD law with Two Quad Thrusters - Commanded Torque Load sharing between Thruster and Torquers in X and Y axis . . . . . . . . . . . . 5.24 PD law with Two Quad Thrusters - Commanded Torque Load sharing in Z-axis and Magnetic Moment Output of Torquers . . . . . . . . . . 5.25 SMC law with One Quad Thrusters - Thruster firings per minute and Cumulative firings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.26 SMC law with One Quad Thrusters - Commanded Torque Load sharing between Thruster and Torquers in X and Y axis . . . . . . . . . . 5.27 SMC law with One Quad Thrusters - Commanded Torque Load sharing in Z-axis and Magnetic Moment Output of Torquers . . . . . . . 5.28 SMC law with One Quad Thrusters - Attitude and Angular Velocity . 5.29 SMC law with One Quad Thrusters - Settling Time . . . . . . . . . . 5.30 SMC law with One Quad Thrusters - Settling Accuracy . . . . . . . 5.31 SMC law with Two Quad Thrusters - Attitude and Angular Velocity 5.32 SMC law with Two Quad Thrusters - Settling Time . . . . . . . . . . 5.33 SMC law with Two Quad Thrusters - Settling Accuracy . . . . . . . . 6.1 xii 47 48 48 49 50 50 51 51 52 52 53 53 54 54 55 55 55 56 56 57 57 57 Hardware architecture of UWE-4[1] . . . . . . . . . . . . . . . . . . . 60 Abstract UWE-4 is the fourth pico-satellite satellite in UWE series. After the successful launch and operation of UWE-3 in 2013, the mission of UWE-4 is to demonstrate electric propulsion technology for formation flying missions at the pico-satellite level of miniaturization. The challenge in this project is to demonstrate precise orbit and attitude control given the extremely limited resources available to the satellite. Four vacuum arc thrusters and one PPU constitute the electric propulsion system. In this master thesis project, attitude control of a cubesat is studied and a simulation platform for attitude and orbit control is developed. More than one control philosophies are developed, compared and implemented to fly on-board UWE-4. Difficulties with using SGP-4 orbit propagator with low thrust action has motivated the development of a low fidelity orbit propagator which should be improved further. Insufficient actuation in one axis has motivated the development of a quaternion based dynamic target attitude solution to achieve precise 2D attitude control while also having stabilization in the third axis. Due to the advantages of non-linear control, a sliding mode controller is evaluated against conventional linear PD controller with the conclusion that a non-linear controller has some advantages over a linear controller for this particular problem of attitude control where constant large angle maneuvers are desired for changing the orientation of the satellite. Two operation modes for the thrusters named as the one quadrant and the two quadrant method are formulated and simulated in different scenarios. It is found out that the two quadrant method results in a quicker response for the change in orientation of the satellite. 1 1 Introduction The beginning of space age was marked by the launch of Sputnik1 on October 4, 1957. This event started a space race between the Soviet Union and the USA which lasted for almost two decades and resulted in an accelerated progress of man towards previously unexplored space. The advancements in all of the fundamental and interdisciplinary fields of science and engineering has made it possible for humans to make use of spacecrafts for applications such as communication, astronomy, navigation, atmospheric studies and more. The oil and natural gas boom across the developed and developing economies also played a huge role in this conquest of space. So far, there have been more than 6800 large or small satellites launched [2] (see Tab. 1.1 for classification of satellites). The increasing demand of fuel and food for the growing population of the planet is putting brakes on spending too much fuel for space missions. The number of large satellites being put in space has been decreasing in the last few decades and recently, in the last few years there has been an increase in the number of satellites being launched contrary to the previous decades [2]. This is because there has been an sharp increase in the number of small satellites, due to their economic advantage over large satellites. This trend will continue and will require more research and development efforts to engineer small satellites for future. Some space exploration missions can be better accomplished by a combination of small satellites flying together in a formation [3]. There can be three types of formation flying scenarios: trailing, cluster and constellation. A trailing formation is when two or more satellites fly in the same orbit with a certain lag. This formation is useful for providing continuous observation over an area. A cluster formation is when a dense group of satellites work towards a common mission. The advantage being in the possibility to do observations from different angles at the same time. The constellation formation when many satellites works in complete harmony for proving extensive ground coverage (for example GPS constellation). Julius-Maximilians-University Würzburg (JMUW) has initiated a pico-satellite program which aims to test the capabilities of pico-satellites for future formation flying missions. So far, three satellites have been launched in this program and the fourth satellite UWE-4 is under development. This thesis summarizes the work done for development of a simulation platform and attitude control software for UWE-4. 3 Chapter 1 Introduction Large Small Large satellites >1000 kgs Micro-satellite 10-100 kgs Medium Size 500-1000 kgs Nano-satellite 1-10 kgs Mini-satellite 100-500 kgs Pico-satellite 0.1-1 kgs Table 1.1: Classification of satellites according to size 1.1 UWE UWE (Universität Würzburg Experimentalsatellit), is a satellite program for experimentation with pico-satellites. The first two satellites in this program were UWE-1 and UWE-2 which were launched in 2005 and 2009 respectively. All UWE satellites are 1U cubesats. Cubesats are required to follow strict specifications, subject to the latest standards initially written by California Polytechnic Institute [4]. The most common sizes for cubesats are 1U, 2U and 3U which is chosen depending on the size of the payload. It is important to mention that the small size of cubesats and other pico-satellites pose difficult engineering challenges. Like JMUW, many universities have their own cubesat programs. Readers are encouraged to refer to [5, 6, 7, 8] for similar works in this field at other universities. 1.1.1 UWE - 3 UWE-3 was launched in Nov 2013. The mission objective of UWE-3 was to demostrate an accurate attitude determination and control system (ADCS) for picosatellites. For attitude determination, UWE-3 has sun sensors, gyros and magnetometers which are fused in an Isotropic Kalman filter. For attitude control, UWE-3 has six magnetic torques mounted on each face and also one reaction wheel. For details about UWE-3 ADCS, please refer to [9, 10] and, [11, 12] discusses the results and performance demonstrated by UWE-3. 1.1.2 UWE - 4 UWE-4 program started after the successful operation of UWE-3. The aim for UWE-4 is to demonstrate orbit maneuvering capabilities together with precise attitude control with a use of a propulsion system. UWE-4 is the first in this series to have an propulsion system. A detailed study of various possible propulsion technologies applicable to cubesats is available in [13]. The propulsion system chosen for UWE-4 is the Vacuum arc thruster which will be discussed in sec. 1.2. A structural overview of UWE-4 is shown in Fig. 1.1 which shows the location of the different hardware components in UWE-4. The four thrusters and one of the magnetic torquer is also visible in the Fig. 1.1. 4 1.1 UWE 1 9 2 3 4 5 6 8 7 Figure 1.1: Structural overview of UWE-4 Description of different components is as follows: (1) Communication Board (2) OBDH (3) PPU (4) Power board with batteries (5) Magnetic Torquer (6) Thruster (7) ADCS (8) Front Access board (9) Panel Due to the size constraints with cubesats which makes the use of deployable solar panels very difficult, there is always very limited power available (1.5-2.5W) [1]. With the inclusion of the propulsion system which itself consumes 1 W of power, there is not enough power left for the reaction wheel. Also that the reaction wheel is only a momentum exchange device and that it cannot provide any thrust for orbit control makes it far less competitive against the thrusters. Nevertheless, the incorporation of a reaction wheel in UWE-4 is under discussion. UWE-4 will inherit the attitude determination system from UWE-3 which means that all the sensors are likely to remain same with some minor upgrades. UWE-4 will have the magnetic torquers and the propulsion system as actuators. 5 Chapter 1 Introduction 1.2 Vacuum arc thrusters Vacuum arc thruster (VAT) is the technology chosen for micro-propulsion for UWE4. It is promising due to the desirable small impulse bit and low power consumption [1]. VAT has also been used previously for cubesat ION (Illinois observing satellite) [14]. Currently, a micro-vacuum arc thruster based propulsion system is being developed at the University of Federal Armed Forces in Munich (UniBwM) which is collaborating on this project with JMUW. The propulsion system has two components: Vacuum arc thrusters (VAT) and one power processing unit (PPU). The four micro-VAT will be located at the head of the four rails all facing the same direction. Thus all the thrusters will be able to produce thrust in one direction and torque in a two dimensional plane. A design model of UWE-4 pointing the location of the thrusters is shown in Fig. 1.2. Antenna Thruster 2 Thruster 3 Figure 1.2: Design model of UWE-4 showing thruster locations For working principles of vacuum arc thruster readers are referred to [15]. Since micro-VAT for UWE-4 is in development phase, an extensive literature survey is performed to obtain reasonable estimates of thrusters characteristics. These estimates are based on similar developments of VAT for cubesats as in [15, 16, 17]. From all available literature on VAT including initial publications by UniBwM [1, 18], and from ongoing discussions with the developers, it is concluded that impulse bit of mico-VAT for UWE-4 could be in the range of 0.5-2 μNs with specific impulse of ~1000s. 6 1.3 State of art 1.3 State of art Vacuum art thrusters falls in the category of electric propulsion which is on the horizon of technology for propulsion in small spacecrafts. Extensive study of state of art technologies for small satellites has recently been published by NASA in [19]. Precise formation flying mission is one of the driving force for the development of new chemical and electric propulsion technologies. So far, only one cubesat program CanX (Canadian Advanced Nanospace experiments) has successfully demonstrated propulsion technology for cubesats [20]. CanX like UWE, is also a program which has a vision for developing formation flying technology. Earlier, they have demonstrated chemical propulsion technology in CanX-2 which flew in 2008 and now CanX-4 and CanX-5 [21], which are their current satellites were launched in June 2014 to demonstrate precision formation flying. According to [22], within one month of their launch, tightly controlled formation of less than 5 kms has been demonstrated. UWE-4 will be the first mission to demonstrate electric propulsion technology for cubesats and existing missions like CanX-4 and CanX-5 can be used as bench-marks for performance. A previous cubesat mission to use electric propulsion technology was ION, which was lost due to launch failure [20]. JPL (Jet propulsion laboratory), NASA is also developing a VAT with a thrust of 125μN, Isp of 1500 s, 10 kg mass and 10W power [19] which is much bigger than the one being developed for UWE4. The UWE-4 project is aiming to push miniaturization to its extreme limit to demonstrate what could be the future of space missions. Target Chaser Figure 1.3: Trailing formation of two satellites 7 Chapter 1 Introduction 1.4 Orbit control vision Without orbit control only passive formations are possible. It has been observed that even the satellites launched from the same launcher can deviate to thousands of kilometers if initial orbit corrections are not provided to them [23]. It is shown in [23] that a simple MPC control scheme with an active thrust of Δv = 2.5 m/s per month is sufficient to keep a simple trailing formation mission of two satellites within a range of 1500 km. Life expectancy of UWE-4 thrusters has been evaluated to be 106 firings per thruster head, which implies that such a mission can be sustained for 3-6 months. A visualization of a trailing formation is shown in Fig. 1.3. The limited life of thrusters mandates the most effective use of them. They should be used only when the thrust vector is aligned to the velocity direction (in-track) or opposite to velocity direction (anti in-track) which invokes a requirement of high accuracy attitude control. It is also important to note that the thrusters can them self provide attitude control. 1.5 Summary This chapter provides the background and motivation for the work behind this thesis project. UWE-4 will inherit all hardware from UWE-3 except the newly introduced propulsion system. The propulsion system needs a sophisticated control software due to its limited life. Successful demonstration of the use of this propulsion technology for attitude and orbit control for this cubesat will be a milestone towards future formation flying missions. 8 2 System Models This chapter discusses all the building blocks of the simulation software. A block diagram view of the attitude control simulation can be seen in Fig. 2.1. The simulation should accurately model the different blocks in order to design a good control system. A lot of parameters while building these models are assumed to be the same from UWE-3. The organisation of this chapter is as follows, sec. 2.1 defines the basic coordinate frames of interest. The four blocks that define, compute and affect the satellite’s attitude in its environment are the satellite dynamics block (sec. 2.2), the sensors (sec. 2.3), the actuators (sec. 2.4) and the disturbance block (sec. 2.5). The orbit block and the controller block in Fig. 2.1 are discussed in chapter 3 and chapter 4 respectively. For the notations used in this chapter, please refer to the nomenclature at the end of thesis. The readers are also referred to the textbooks on attitude control by Sidi [24] and Spacecraft system design [25] for detailed understanding of the concepts presented in this thesis. Orbit in-Track anti-in-Track Controller Disturbances Actuators Satellite Dynamics Sensors Figure 2.1: Simulation software block diagram 2.1 Coordinate frames and attitude definition This section covers the five coordinate frames which are used in this work. The sec. 2.1.1 discusses the two earth centered reference frames, also shown in Fig. 2.3. The orbit coordinate frame, the body coordinate frame and the control coordinate frame are discussed in sec. 2.1.2, sec. 2.1.3 and sec. 2.1 respectively. 9 Chapter 2 System Models 2.1.1 ECI and ECEF The ECI (Earth centered inertial) frame is assumed as the absolute inertial reference frame and most of the calculations in this work are done in the ECI frame. The ECEF (Earth centered earth fixed) coordinate frame is used because the Earth’s magnetic model is easily available in ECEF since this reference frame rotates as the Earth rotates with its magnetic field. 1. ECI - There are difference variations of ECI (for example J2000, TEME), but the center of ECI is always fixed at the earth’s center. According to the most common J2000 ECI reference frame, the X-axis and the Y-axis points to the mean equinox direction and to the earth’s mean equator direction on 1st January 2000 respectively. The Z-axis points at the celestial north pole. 2. ECEF - This coordinate frame rotates as earth rotates on its axis. The center of ECEF is fixed at the center of earth. The X-axis and the Z-axis points to the prime meridian and to the earth’s north pole respectively. The Y-axis is in the equatorial plane and perpendicular to both the X-axis and the Z-axis. 2.1.2 Orbit coordinate frame (OCF) The orbit coordinate frame moves along the orbit with its center fixed at the geometric center of the satellite. The X-axis is along the velocity direction, Y-axis points to nadir towards earth and the Z-axis completes the triad being perpendicular to both X and Y axis. It is important to note that OCF rotates w.r.t. any inertial frame (say ECI) by a constant angular velocity given by h ωooi = 0 0 −ω0 where ω0 = 2π T iT (2.1) is the orbital angular velocity with orbital period T . 2.1.3 Body coordinate frame (BCF) The body coordinate frame is the legacy coordinate frame for all UWE satellites which has been defined from existing standards for Cubesats. The body coordinate frame is centered at the geometric center of satellite and is fixed along the dimensions of satellite. The Y-axis of BCF is fixed in the direction opposite to the front panel and the Z-axis points to the antennas. The X-axis completes the triad with right hand rule. Refer to Fig. 2.2 for visualization of BCF for UWE-4. 10 2.1 Coordinate frames and attitude definition Figure 2.2: Body coordinate frame 2.1.4 Control coordinate frame (CCF) A new coordinate system called CCF has been defined, which is more suitable for the requirements of the control software. The control coordinate frame like BCF is centered at the geometric center of the satellite and is fixed along the dimensions of the satellite.The X-axis points to the face, which has thrusters mounted on it. Therefore the thrust vector is always opposite to the X-axis in control coordinate frame. The Y-axis is in the opposite direction of the front panel and Z-axis completes the triad. Refer to Fig. 2.4 for visualization. The sun sensors and the magnetometer measures in BCF and, also the gyroscope measures the angular velocity of the body w.r.t inertial frame in BCF i.e. ωbbi . Therefore, in order to compute angular velocity of the satellite in the control coordinate frame we need the the transformation matrix (Tcb ) from BCF to CCF which is 0 0 1 Tcb = 0 1 0 −1 0 0 (2.2) Using this transformation matrix, angular velocity of the body w.r.t inertial frame in CCF is c ωbi = Tcb ωbbi (2.3) From now on, in this entire work, only CCF is used to express the angular velocities, thrust forces, torquers and all other sensor data. In order to compute attitude, the 11 Chapter 2 System Models angular velocity of the body w.r.t. OCF (ωcbo ) must be known. To compute that, the Eq. 2.4 from [24] is used. (2.4) ωcbi = ωcbo + ωcoi Angular velocity of OCF w.r.t ECI in CCF (ωcoi ) ωcoi = Tco ωooi (2.5) Using Eq. 2.1 and the transformation matrix from OCF to CCF (Tco ), the angular velocity of body w.r.t. OCF (ωcbo ) is given as h ωcbo = ωcbi − Tco 0 0 −ω0 iT (2.6) ZECI ,ZECEF XECEF Pointing to 0° Latitude YECI YECEF XECI Fixed in inertial space Figure 2.3: Inertial coordinate frames: ECI and ECEF 2.1.5 Attitude definition In this work, the attitude of the satellite is defined as the angle between the orbit coordinate frame and the control coordinate frame. When hthe two coordinate frames i coincides, it is represented by the attitude quaternion as 0 0 0 1 . 12 2.2 Satellite dynamics Figure 2.4: Orbit coordinate frame and Control coordinate frame 2.2 Satellite dynamics This section will present the basic attitude dynamic equations used in the model. Since the attitude dynamic equations are non-linear coupled equations therefore, a non-linear model is preferred over a linearized approach. Non-linear model The dynamic equation gives us the angular acceleration of satellite which can be integrated to obtain angular velocity of the satellite in ECI frame. Then the attitude (represented as quaternions) of the satellite is computed with kinematic equations. Dynamics The attitude dynamics of the satellite is formulated by assuming that the satellite is a rigid body. The firing of thrusters will result in a change in the inertia tensor of the satellite but for a small duration the inertia tensor can be assumed as constant. An On-board estimation of the inertia tensor is already available from UWE-3 and will be used to update the inertia tensor during operation after certain usage intervals of thrusters. The attitude dynamic equation (also called Euler’s Moment equation) 13 Chapter 2 System Models as given in [24] is c Is ω̇cbi + ωcbi × Is ωcbi = Ttotal (2.7) The total external torque (Ttotal ) is the sum of all individual torques acting on the satellite. Ttotal = Ttorquers + Tthrusters + Tdisturbances (2.8) The disturbance torques will be covered in sec. 2.5. If a reaction wheel is included in the satellite (UWE-4), the dynamic equation will be given as in [26] c Iˆω̇cbi + ωcbi × (Is ωcbi + Aw Iw Ω) = Ttotal (2.9) where Aw , Iw , Ω are the layout matrix, inertia tensor and angular velocity of reaction wheels. and Iˆ is given by Iˆ = Is − Aw Iw ATw (2.10) In presence of wheel a new term, Twheel will be added to the right side of Eq. 2.8. Kinematics A satellite’s attitude is easier to represent in quaternions. When the angular velocity h iT of body w.r.t orbit in OCF is expressed as ωcbo = ωx ωy ωz , the kinematic equation as given in [24] is 0 ωz −ωy ωx 1 -ω 0 ωx ωy q q̇ = z ω −ω 0 ω 2 y x z −ωx −ωy -ωz 0 (2.11) The conversion between ωcbo and ωibi has been discussed in sec. 2.1.3 and concluded in Eq. 2.6. The different values of qinitial and ωinitial can be used as initial conditions in the simulation for attitude and angular velocity. 14 2.3 Sensor models 0.5 UWE−3 ω ( deg/s) 0 0 x Simulated ωx (deg/s) 0.5 −0.5 −1 0 20 40 60 Time (min) 80 −0.5 −1 0 100 UWE−3 ω ( deg/s) 100 0.5 y Simulated ωy (deg/s) 0.5 0 −0.5 0 −0.5 −1 −1 20 40 60 Time (min) 80 100 −1.5 0 20 40 60 Time (min) 80 100 1.5 1.5 1 UWE−3 ωz ( deg/s) 1 Simulated ωz (deg/s) 80 1 1 0.5 0 −0.5 0.5 0 −0.5 −1 −1 −1.5 0 40 60 Time (min) 1.5 1.5 −1.5 0 20 20 40 60 Time (min) 80 100 −1.5 0 20 40 60 Time (min) 80 100 Figure 2.5: Simulated gyroscopic data (left) vs UWE-3 gyro measurements (right) 2.3 Sensor models Accurate simulation of magnetic field and angular velocity is a crucial step in control design for cubesats. On-board UWE-4, there are three magnetometers and three gyros mounted on the ADCS board and six magnetometers and six sun sensor, one 15 Chapter 2 System Models on each panel. In the sensor model, three magnetometers and three gyro are present which simulate the magnetic field and angular velocity for each axis. The sun sensors are not simulated in this work because there is no direct usage of the sun sensor measurements in the AOCS software. 2.3.1 Gyroscope The result of the dynamics equation from the simulation is the noise free angular velocity. Now in order to simulate the measurements from gyroscope, we augment these values with white guassian noise (NW GN ) and gyroscopic drift (Dgyro ) as presented in [26]. The gyroscope measurements are thus given as ωgyro = ωbbi + NW GN + Dgyro (2.12) Ḋgyro = −kf Dgyro + NW GN D (2.13) where kf is drift constant and NW GGD is white Gaussian noise in gyroscopic drift. Sensor noise of the gyroscope used in UWE-3 is around 0.15 deg/sec [27]. Thus for simulations, the variance of white gaussian noise is assumed as 6.854 · 10−6 and the drift constant kf is assumed zero as on-board implementation of isotropic Kalman filter is capable of removing the gyro drift. The implementation of isotropic Kalman filter and the attitude determination software for UWE-3 was developed as a part of a previous master thesis in [28]. In Fig. 2.5, the simulated gyroscopic data (left) is shown against measurements from UWE-3 gyros (right) to establish the correctness of estimation in sensor noise. The UWE-3 measurements and the data from simulated scenario in Fig. 2.5 are both collected at the end of de-tumbling experiments where the tumbling satellite is stabilized with the B-dot algorithm. 2.3.2 Magnetometers Several decades of research has led to accurate model of earth’s magnetic field. The International Geomagnetic Reference Field (IGRF), which is a standard formulation of earth’s magnetic field data is used in this work. IGRF model is based on the early works of [29, 30, 31]. Since the magnetic field of earth rotates with earth, the IGRF takes the position of satellite in ECEF frame as the input and, outputs the magnetic field in ECEF. Adding the magnetic field offset (arising due to the residual magnetic field) (sec. 2.5.3) and white Gaussian noise, the final output of magnetometer in BCF is estimated to Bb (~r) = TbECEF BECEF (~r) + NW GM + Bof f set 16 (2.14) 2.4 Actuator models The estimated value of the magnetic field offset obtained from UWE-3 measureh iT ments is −6.1527 5.3040 3.6295 μT. The magnetic field offset can actually be calculated on-board, and thus its effect is compensated by feeding the calibrated magnetic field data to the control system. Therefore in the simulations Bresidual is assumed as zero for the magnetometers. The variance of white gaussian noise in Eq. 2.14 is estimated as 7.86 · 10−13 , which is derived from the calculated standard deviation of 1.5358 · 10−6 T in magnetic field strength in [32] from UWE-3’s magnetometer data. An example of the simulated magnetometer data is shown in Fig. 2.6 comparing against the standard IGRF output. The deviation of the simulated data from IGRF data is the result of noise from sensors which can not be eliminated. -5 Simulated and Ideal (IGRF) Magnetic field ( T) 3 Bsimulated-x x 10 B simulated-y Bsimulated-z BIGRF-x 2 BIGRF-y BIGRF-z 1 0 -1 -2 -3 0 20 40 60 80 Time (min) Figure 2.6: Simulated Magnetometer Data 2.4 Actuator models 2.4.1 Thrusters Micro-vacuum arc thrusters are in the early development phase in UniBwM. It is still early to characterize its performance and develop accurate models. One theoretical model of a vacuum arc thruster has been previously developed in [16]. Developing a theoretical model for micro-VAT for UWE-4 needed expertise in physics of VAT and 17 Chapter 2 System Models direct involvement in the development which was not the main goal of this thesis. So for simplicity, an empirical model is being used. The current measurements from micro-VAT suggests a thrust performance of 0.5-2μN. Therefore, in simulations a linear decay function is assumed over the life period of the thruster which is 106 pulses according to current measurements. This is named as the life model in the simulation. The data in the life model can be changed later when accurate measurement are available towards the end of thruster development. It is very realistic to assume the thruster discharge will be in the form of a plume. Therefore a plume deviation angle is also considered in Given that the h the model. i ideal firing directions for UWE-4 thrusters in CCF is 1 0 0 . The realistic firing direction is given as: Fdirection = 1 s 1+ δplume plume ) scos(N δplume 1+ π π plume ) ssin(N δplume 1+ (2.15) π where Nplume is a uniform random number between -π and π. The variance of the plume angle in degrees (δplume ) is a guassian random number. In simulations, the variance of plume angle is assumed as 1 · 10−4 for all thrusters. The wider the plume will be, more the thrusters performance will degrade. In Fig. 2.7, the effect of variation of the plume angle is shown with Thruster 1 (left) having δplume = 1 · 10−4 and Thruster 2 (right) δplume = 1 · 10−6 . In Fig. 2.7, 90% of the firings occur in a cone of 3° and 1° in Thruster 1 and Thruster 2 respectively. The command to the thrusters is in the form of a firing vector (Fcommand ) from the controller h Fcommand = n1 n2 n3 n4 i (2.16) where ni is the number of times ith thruster is to be fired The thrust and torque produced by such an action is given by Fthrusters = n X − ni fi pi T0 (2.17) − ni (pi × fi T0 ) (2.18) i=1 Tthrusters = n X i=1 pi and fi are the position vector and firing direction of ith thruster respectively. T0 is the magnitude of thrust depending on the life model of the thruster. The main aim of UWE-4 is to demonstrate orbit control with miniature thrusters and therefore all four thruster are placed in a single plane firing in the same direction to obtain maximum thrust. 18 2.4 Actuator models 0.1 0.03 0.08 3° cone 0.06 0.04 1° cone 0.02 0.01 0.02 0 0 −0.02 −0.01 −0.04 −0.02 −0.06 −0.03 −0.08 −0.1 −0.1 −0.05 0 0.05 0.1 −0.04 0.15 −0.03 −0.02 −0.01 0 0.01 0.02 0.03 Figure 2.7: Thruster Plume variation 2.4.2 Magnetic torquers Magnetic torquers are widely used actuators for cubesats. The main advantage with them is that they consume very little energy and are highly reliable due to the absence of any moving parts. They produce a magnetic-moment which interacts with the earth’s magnetic field and provide a torque to rotate the satellite. The torque produced from the magnetic torquers is: ~ Ttorquers = m ~ ×B (2.19) ~ is the earth’s m ~ is the magnetic moment produced by torquers in CCF and B magnetic field in CCF. Since the torquers can only produce a torque perpendicular to earth’s magnetic field, they have a performance limitation due to this dependency on the strength and direction of earth’s magnetic field. Although they are good for de-spinning a satellite to lower angular rates, they cannot provide a three axis control, easily. On UWE-4, there will be one magnetic torquer on each panel, thus in total 6 of them. Each magnetic torquer can produce magnetic moment between ±0.03Am2 and therefore the maximum magnetic moment available on each axis is ±0.06Am2 . 2.4.3 Reaction wheel A reaction wheel may be incorporated in UWE-4 in X-axis in CCF. The major problem with reaction wheel is its power consumption. Since PPU unit needs atleast 1W of continuous power for the thrusters and the cubesat only has ~1.5W, 19 0.04 Chapter 2 System Models there is not enough available power for a reaction wheel [23]. Thus the reaction wheel and thrusters cannot be used simultaneously. The moment generated by the wheel as given in [26] is: b Twheel = Iw (Ω̇ + Aw ω̇bo ) (2.20) 2.5 Disturbance models (environment) A disturbance is an external unwanted influence on the system. The different disturbance sources acting on the attitude of the satellite are 1. Solar radiation pressure 2. Third body perturbation (mainly moon) 3. Aerodynamic drag 4. Gravity gradient torque, and 5. Effect of residual magnetic field The first two in the list above are not significant for a cubesat in LEO orbit and thus can be easily neglected [26]. The later three are discussed below and their worst case effects are taken into account in the simulation (chapter 5). In Fig. 2.8, the simulated disturbances are shown. The information of the residual magnetic field is taken from UWE-3. It is clear that the disturbance torque due to residual magnetic field is higher by many orders (103 -104 ) than that of other disturbance torques. But with improvements in design of UWE-4 over UWE-3, the residual magnetic disturbance torque can be kept much lower than that. 2.5.1 Aerodynamic drag Aerodynamic drag arises from the air resistance force acting against the velocity of satellite. When the center of pressure of the satellite deviates from the center of gravity, the aerodynamic drag creates a moment which as defined in [26], is: 1 τaero = Cd ρν 2 AL 2 (2.21) where Cd is the drag coefficient, ρ is the atmospheric density, ν is the satellite velocity, A is the cross-sectional area perpendicular to the velocity and L is the distance between the center of gravity and center of pressure. In simulations, the center of gravity is assumed at the geometric center h i of the cubesat and for worst case, the center of pressure is assumed at 1 1 1 cm. 20 2.6 Summary 2.5.2 Gravity gradient The gravity gradient disturbance is caused by the uneven mass distribution along the three axis of the satellite and is given as: τgg = 3 µe (c3 × Is c3 ) a3 (2.22) where µe is the earth’s standard gravitational parameter, a is the semi-major-axis of orbit, c3 is the third column in rotation matrix Toc and Is is the satellite’s inertia tensor. 2.5.3 Residual magnetic field The presence of electronics and ferromagnetic material can produce an additional unwanted magnetic field by the satellite which is called as the residual magnetic field. When this residual magnetic field interacts with earth’s magnetic field a disturbance torque is produced. The residual magnetic field produces a torque in the same manner as that of the torquers and thus the disturbance torque is given by ~ τresidual = m ~ residual × B (2.23) ~ is the local earth’s where m ~ residual is the residual magnetic-moment in CCF and B magnetic field in CCF. The estimated value of the residual magnetic moment for UWE-3 is quite high but since it is time invariant, it can be accurately estimated and taken into consideration for the control design . The estimated value of residual magnetic moment from h iT UWE-3 in the worst case situation is −0.045 0.0126 0.006 Am2 . 2.6 Summary In this chapter the main components of satellite’s attitude simulation are discussed. A description of all the useful coordinate systems for UWE-4 is also provided. Attitude dynamics and kinematics equations are formulated to compute the satellite attitude in terms of quaternions. All attitude related sensors and actuators present in UWE-4 are modeled. Disturbance sources are discussed and their worst case effect is also shown. It is assumed in this chapter, that position and velocity of the satellite are already known in ECI frame. This is the subject of the next chapter in which orbit simulation is discussed. 21 Chapter 2 -9 −10 1 gg x 10 Gravity Gradient Disturbance Torque ( τ ) (N−m) Aerodynamic Disturbance Torque ( aero) (N-m) 1.5 System Models aero-x aero-y 0.5 aero-z 0 -0.5 -1 -1.5 0 20 40 60 Time (min) 80 100 3 x 10 1 0 −1 −2 −3 0 τ 1.5 residual−z 1 ) (N−m) τresidual−y disturbance τresidual−x 2 2.5 Total Disturbance Torque (T Residual field Disturbance Torque (τresidual) (N−m) τgg−z 20 40 60 Time (min) 80 100 −6 x 10 0.5 0 −0.5 −1 −1.5 −2 −2.5 0 τgg−y 2 −6 2.5 τgg−x 20 40 60 Time (min) 80 100 x 10 Tdisturbance−x 2 Tdisturbance−y Tdisturbance−z 1.5 1 0.5 0 −0.5 −1 −1.5 −2 −2.5 0 20 40 60 Time (min) 80 100 Figure 2.8: Simulated Disturbance Torques Top-left: Aerodynamic Disturbance torque Top-right: Gravity Gradient Torque Bottom-left Residual magnetic field Disturbance Torque Bottom-right: Total Disturbance Torque 22 3 Orbit Propagator The on-board orbit propagator is crucial for formation flying missions. UWE-3 uses a standard SGP-4 implementation for orbit propagation. Due to the inclusion of propulsion system, a new orbit propagator is required for UWE-4, which can incorporate the effect of the low thrust produced by micro-thrusters. An idea for using SGP-4 for low thrust scenario has been discussed in sec. 3.1. However this method proved to be unsuccessful. The sec. 3.2 discusses an simple orbit propagator implementation which takes into account the effect of gravitation, low thrust by propulsion system and earth’s oblateness (J2 and J3 terms). Orbit propagator with low thrust input is an active area of research and readers are refereed to [33, 34, 35] for other studies. 3.1 Modified SGP- 4 SGP stands for Simplified general perturbation. It is the most widely used orbit propagator used in space industry. According to [36], SGP-4 has an accuracy of 1 km at epoch time and the accuracy decays with the rate of 1-3 km each day. Therefore for the modified orbit propagator the accuracy should be better than 3 km. For UWE-3, a new TLE is generated every day by NORAD thus orbit error is limited to 1 km only. In the worst care scenario, one TLE can be used for 3 days maximum, which means that an orbit error of 10 km may be acceptable for some missions. Since SGP-4 does not consider a thrust input, an attempt was made to build an orbit propagator based on SGP-4 to incorporate continuous thrust from propulsion system. The idea behind this attempt of modifying SGP-4 for low thrust came from the fact that a thrust force effects the instantaneous position and velocity vector in the inertial frame. A block diagram representation of the modified SPG-4 is shown in ~ vector and velocity vector (~v ) outputs Fig. 3.1. In this modification, the position (R) from SGP-4 is modified by the thrust input according to Newton’s second law of ~ 0 ) vector motion. Then the block “RV to COE” converts the modified position (R and velocity vector (v~0 ) in ECI frame, to classical orbital elements. The classical elements are then fed back to SPG-4 as a fresh initial conditions. Keeping the input update time of SGP4 propagator equal to zero makes sure that the orbit is 23 Chapter 3 Orbit Propagator propagated one point at one time capturing the effect of low thrust produced by the propulsion system for one time step. The result from this modification of SGP-4 came out to be fruitless. The outputs − →− (R,→ v ) were oscillatory and unfortunately, all attempts to stabilize this propagator failed, therefore any results from this modified SGP-4 are not shown here. It was concluded that this feedback method is unstable due to improper handling of orbital element vectors due to the nature of the method itself. After this attempt, a simplified orbit propagator was implemented which is discussed in the next section. Thrusters ∆r, ∆v TLE SGP-4 Propagator + RV to OEV Figure 3.1: Modified SGP-4 Propagator 3.2 Simplified orbit propagator (SOP) with low thrust A simplified orbit propagator is developed for realizing the effect of thrusters in the simulation. It only takes into account the effect of earth’s gravitation, thruster impulse force and earth’s oblateness. These three terms are summed up to compute the instantaneous acceleration which is then used in the newton’s second law of motion. All calculation are done in the ECI frame assuming it as an absolute inertial frame. The acceleration due to gravitation pull is the standard result of two body problem from [24] which is r̈ = − µ r |r|3 (3.1) The effect of thruster impulse force is captured directly by Newton’s second. The 24 3.2 Simplified orbit propagator (SOP) with low thrust acceleration due to oblateness effect in ECI coordinate frame as derived in [37] are r̈x = J2 rx 3 rx rz 15 (6rz2 − (rx2 + ry2 )) + J3 9 (10rz2 − (rx2 + ry2 )) 7 |r| 2 |r| 2 (3.2) r̈y = J2 ry ry rz 3 15 (6rz2 − (rx2 + ry2 )) + J3 9 (10rz2 − (rx2 + ry2 )) 7 |r| 2 |r| 2 (3.3) r̈z = J2 3 1 rz 9 (3rz2 − (rx2 + ry2 )) + J3 9 (4rz2 (rz2 − 3(rx2 + ry2 )) + (rx2 + ry2 )2 ) (3.4) 7 |r| 2 |r| 2 where, J2 = 1.7555 × 1010 km5 s−2 and J3 = −2.619 × 1011 km6 s−2 . A block diagram showing the implementation of simplified orbit propagator is shown in Fig. 3.2. The results from this propagator are not as accurate as SGP-4. Fig. 3.3 shows the relative distance between the output from simplified orbit propagator and SGP-4 propagator generated by STK by the exact same TLE and initial conditions. It can be seen that the simplified orbit propagator output deviates from ideal (SPG4) by 10 km only in 16 orbits (~1 day). This accuracy might not be sufficient for on-board implementation but it could be good enough to simulate the orbit control scenario as discussed in sec. 1.4. Gravitation + Thrusters + a ∫ v ∫ r J2 J3 Term Figure 3.2: Simplified orbit propagator 25 Chapter 3 Orbit Propagator 12 Error in SOP from SGP−4 [km] 10 8 6 4 2 0 0 2 4 6 8 10 12 14 16 18 Orbits Figure 3.3: Error in Simplified propagator from SGP-4 output 0.7 in−Track Firing anti−in−Track Firing Relative distance [km] 0.6 0.5 0.4 0.3 0.2 0.1 0 0 2 4 6 8 10 12 14 16 Orbits Figure 3.4: Demonstration of Thruster effect seen as the separation of two satellites generated by Simplified orbit propagator 26 3.3 Summary Fig. 3.4 demonstrate the scenario simulated by simplified orbit propagator when thrusters are fired (at a rate of 600 firings per minute) on one satellite in formation with another satellite initially present at the same location in the orbit. In this orbit simulation, the thrusters are being fired by an on-off controller switching between the in-track direction (i.e. the propelling mode) and the anti-in-track direction which is the braking mode. It can be seen that the effect of thrusters is clearly captured by the propagator as the two satellites initially at the same location exhibit a formation flying scenario with their relative distance bounded within 0.6 km. However, with an error of 10 km in one day, it cannot be directly deployed in the cubesat, but if both the satellites (the chaser and the target) have simplified orbit propagator as in the case of simulations, the error from the ideal orbit is heavily negated. 3.3 Summary In this chapter, the need of an on-board propagator is motivated and addressed. An attempt is made to modify the standard SGP-4 propagator for low thrust scenario without success. However a simplified orbit propagator is developed as a first step towards a more accurate on-board propagator. In future, it is desired to append more terms in the simplified orbit propagator with low thrust to get closer to the accuracy of SGP-4 propagator. 27 4 Attitude Control The requirement of high precision attitude control for UWE-4 comes from the need that the thrust vector should be pointing in-track direction (X-axis in CCF opposite to the X-axis in OCF) or anti-in-track direction (X-axis in CCF in the direction of the X-axis in OCF) for obtaining maximum efficiency. Although, a two-axis control is sufficient for achieving the desired attitude control, it is highly desired to have some control on the third axis (X-axis in OCF). Thus, three axis control laws are formulated and implemented together with an interesting solution of dynamic target quaternion (discussed in sec. 4.1). Two such control laws, PD (proportional derivative) and SMC (sliding mode control) are discussed in sec. 4.2. In sec. 4.3 and sec. 4.4, implementation of full magnetic control and full thruster control are discussed. Finally, the use of both magnetic control (via torquers) and thrusters is discussed in sec. 4.5. The idea behind the combination is to use torquers to their maximum capacity wherever possible in order to prolong the life time of thrusters. In sec. 4.6, stability concerns with large angle rotation are brought to notice. Fig. 4.1 shows the skeleton of the control software which will be explained in more details in this chapter. 4.1 Target attitude The attitude control problem defined for UWE-4 is a two-axis control (Y and Z in OCF) and stabilization in the third axis (X in OCF). In order to compute the target quaternions dynamically, a solution is developed which is explained below. iT h h iT If qT = qT 1 qT 2 qT 3 qT 4 is the target attitude and q = q1 q2 q3 q4 is the current attitude, where the first three elements in q and qT represents the vector part and last elements (q4 and qT 4 ) represents the scalar part, then the error in attitude in terms of quaternions qE given as in [38] is qE1 qT 4 qT 3 −qT 2 −qT 1 q1 q −q qT 4 qT 1 −qT 2 q2 qE = E2 = T 3 qE3 qT 2 −qT 1 qT 4 −qT 3 q3 qE4 qT 1 qT 2 qT 3 qT 4 q4 (4.1) 29 Chapter 4 Attitude Control Direction 1. 2. In-Track Anti-In-Track Control Law 1. 2. PD SMC Actuators 1. 2. 3. Torquers Thrusters Both Outputs 1. 2. Magnetic Moment Firing Command 1. 2. One Quad Two Quad Figure 4.1: Schematic of the Controller Since a full 3 axes control is not the goal due to the absence of full controllability in all axes, qE1 is disregarded and assumed to be zero. qE1 = qT 4 q1 + qT 3 q2 − qT 2 q3 − qT 1 q4 = 0 (4.2) By the definition of quaternion, we have qT2 1 + qT2 2 + qT2 3 + qT2 4 = 1 (4.3) 4.1.1 In-track target attitude When the thrust vector is in the velocity direction, the thrusters are facing the h i trailing orbit and the target attitude takes the form qT = 0 qT 2 qT 3 0 . This target attitude formulation represents the attitude in in-track direction with any given rotation in the X-axis. In this form of the target attitude, it is evident that qT 1 = qT 4 = 0 30 (4.4) 4.1 Target attitude Solving the Eqs. 4.2, 4.3 and 4.4 gives two sets of solution qT 2 = q qT 2 = q q2 qT 3 = q q22 + q32 −q2 qT 3 = q q22 + q32 q3 q22 + q32 −q3 q22 + q32 (4.5) (4.6) These two solutions for the target attitude represents the same physical orientation of the satellite. The choice of selecting one solution over the other will affect the direction of rotation of the satellite towards its target attitude. The optimal control should use both the solutions but guaranteeing global stability while using both the solutions is regarded as a difficult problem [39]. Many research works that provides the solution to this problem while addressing stability issues have also been pointed out in [39]. However, in this thesis, the solution from Eq. 4.5 is used which when used alone is proven as globally stable during simulations. Thus, the in-track target attitude is given as q2 qT = 0 √q2 +q2 2 3 √ q23 q2 +q32 0 (4.7) 4.1.2 Anti-in-track target attitude When the thrust vector is opposite to the velocity direction, the thrusters are facing h i the forward orbit and the target attitude takes the form qT = qT 1 0 0 qT 4 . This target attitude formulation represents the attitude in anti-in-track direction with any given rotation in the X-axis. In this form of the target attitude, it is evident that qT 2 = qT 3 = 0 (4.8) Similar to the sec. 4.1.1, solving the Eqs. 4.2, 4.3 and 4.8 gives two sets of solution qT 1 = q qT 1 = q q1 q12 + q42 −q1 q12 + q42 qT 4 = q qT 4 = q q4 q12 + q42 −q4 q12 + q42 (4.9) (4.10) 31 Chapter 4 Attitude Control Following the discussion in the sec. 4.1.1, the solution of Eq. 4.9 is used in the simulations. Thus, the anti-in-track target attitude is given as q1 q4 qT = √q2 +q2 0 0 √q2 +q2 1 4 1 4 (4.11) 4.2 Control Laws Attitude control problem for satellites has been studied for many decades. The attitude control law determines the required torque to meet the control problem. The two pointing directions of interest (in-track and anti-in-track) are translated into target attitudes in sec. 4.1. A proportional derivative (PD) control law discussed in sec. 4.2.1 is the most widely used technique for attitude control. The other control techniques include the simple bang bang control [40], LQR with pulse width pulse frequency [41, 42] and model predictive control [43, 44]. Sliding model control which is a non-linear control technique has also been fairly well discussed and implemented for attitude control as in [45, 46, 26]. Given the advantages of non-linear control for this problem, it is decided to implement a sliding mode control for UWE-4, which is discussed in sec. 4.2.2. 4.2.1 PD control PD control law outputs the torque required for in-track or anti-in-track direction. The PD control law for attitude as given in [38] is Tcx = −T̂0 (Kx qE1 + Kdx ωx ) (4.12) Tcy = −T̂0 (Ky qE2 + Kdy ωy ) (4.13) Tcz = −T̂0 (Kz qE3 + Kdz ωz ) (4.14) where Kx , Ky , Kz are proportional gains and Kdx , Kdy , Kdz are the derivative gains. The angular velocities ωx , ωy , ωz are in CCF and qE1 , qE2 , qE3 are computed from Eq. 4.1. It is to be noted that in Eq. 4.12, first term is zero because of Eq. 4.2, which makes Tcx = −T̂0 Kdx ωx . T̂0 is the unit of torque produced by the thrusters and it 32 4.2 Control Laws is assumed that T̂0 = T̂f actor 10−7 where T̂f actor is a tunable parameter. It is to be noted that T̂0 is a close relative of T0 from sec. 2.4.1. If there is an effective way to measure T0 on board, then T̂0 can be replaced by T0 . qE1 , qE2 , qE3 in the above equations are calculated with the help of Eqs. 4.1 and 4.7 or 4.11. 4.2.2 Sliding mode control Sliding mode control is a discontinuous type of non-linear control. The control action produced by sliding mode control forces the system to slide along a designed sliding surface which is a subspace of all possible values of the sliding variable. This sliding mode control presented here for UWE-4 is inspired by [46]. The sliding variable (Sv ) is defined at first as h c Sv = ωbo + Λs qE1 qE2 qE3 iT (4.15) where Λs is a positive definite diagonal matrix assumed as K11 0 0 K22 0 Λs = 0 0 0 K33 (4.16) The control torque by sliding mode law has two parts. First part (Tsm ), incorporates the non-linear dynamics of the system and keeps the system on the sliding manifold i.e. it makes sure that time derivative of sliding variable is zero (Ṡv = 0). The second part (Tsv ) brings the sliding variable to zero in a finite time. From [46], the values of the two control torques are: Tsv = −λs sign(Sv ) (4.17) where λs is a tunable parameter like Λs . 1 c c c c c q4 +ωbo ×qvec ) (4.18) Tsm = ωbi ×Is ωbi −3ω02 (koc ×Is koc )+ω0 Is (ico ×ωbo )− Is Λs (ωbo 2 where ico and koc are the first and the third column in the transformation matrix from OCF to CCFh (i.e. Tco ) irespectively. The qvec is the vector part of the current attitude given by q1 q2 q3 . The demanded torque by sliding mode control law is then Tc = Tsm + Tsv (4.19) 33 Chapter 4 Attitude Control 4.3 Magnetic control Magnetic control infers to the use of magnetic torquers for attitude control. Due to project limitations (e.g. budget, technology), many cubesats only use magnetic control for attitude control. But even with magnetic torquers only, many different experiments can be performed. The B-dot control (sec. 4.3.1) is used to detumble the satellite from high angular velocities that can happen during the release from launch vehicles. The two axis pointing control (sec. 4.3.2) formulates an actuator law to produce the necessary torques ordered by the control law. As discussed earlier, the torquers can only produce torques perpendicular to the earth’s local magnetic field, thus a precise attitude control is not possible. 4.3.1 B-dot control The B-dot algorithm for torquers [8, 10, 46] is used to stabilize a fast spinning satellite. It computes the rate of change in earth’s local magnetic field and accordingly takes some actions. The B-dot law is given as → − m = −K Ḃ (4.20) Several variation of B-dot control have been presented in [10] and applied on UWE3. A comparison of B-dot simulation results with actual B-dot experiment data from UWE-3 is shown in sec. 5.1. 4.3.2 Two axis pointing control Two axis pointing control computes the magnetic moment to be generated to produce the required control torque. Therefore, the purpose is to find m, ~ in the Eq. 4.21 → − − Tc = → m×B (4.21) → − Cross multiplying B on both sides of Eq. 4.21 from left and assuming that m ~ is → − almost perpendicular to B , gives the following solution → − B × Tc → − m = → − 2 B 34 (4.22) 4.4 Thruster control 4.4 Thruster control The arrangement of thrusters can produce torques in Y-axis and Z-axis in CCF. But here a precise two axis control is guaranteed. Two different methods of actuation of thrusters has been developed and discussed in this section. One quadrant method (sec. 4.4.1) is based on using one thruster to produce the required control torque while two quadrant method (sec. 4.4.2) uses two thrusters to produce required control torque demanded by the control law. It is intuitive to say that two quadrant method is computationally expensive because it needs to solve an integer problem to compute how many times the two selected thrusters should fire in every update cycle to PPU. Since thrusters can only produce torques in two axis, they only act on Tcy , Tcz from iT h a required control torque command Tc = Tcx Tcy Tcz . The Fig. 4.2 shows the thruster control quadrants which tells which thruster number should to be fired according to the sign of Tcy and Tcz . For example if Tcy > 0 and Tcz < 0, thruster 4 should be fired. Tcy Thruster 4 Thruster 1 Tcy + , Tcz - Tcy + , Tcz + Tcz Thruster 3 Thruster 2 Tcy - , Tcz - Tcy - , Tcz + Figure 4.2: Thruster control quadrants 4.4.1 One quadrant based two-axis control One quadrant based control method commands one thruster to provide the required control torque. It computes the thruster action in two steps: 1. Compute the thruster number from Fig. 4.2 based on the sign of Tcy and Tcz . 2. Compute the number of firings of the selected thruster according to the magnitude of Tcy and Tcz with Eq. 4.23. Nf iring = min(Tcy , Tcz ) T0 (4.23) 35 Chapter 4 Attitude Control A saturating number on Nf iring is placed based on the stability of the closed loop control. 4.4.2 Two quadrant based two-axis control Two quadrant based control method commands two thrusters to provide the required control torque. It computes the thruster action in these steps 1. Compute the primary thruster number (Qf p ) according to the sign of Tcy and Tcz exactly as in sec. 4.4.1. The quadrant of primary thruster direction is given as h Qf p = sign Tcy −Tcz iT 2. Compute the secondary thruster number and secondary thruster quadrant h iT (Qf s ) by the sign of Tcy −Tcz if max(Tcy , Tcz ) = Tcy or by the sign of h −Tcy Tcz iT if max(Tcy , Tcz ) = Tcz . 3. Solve for primary thruster firing number Nf p and secondary thruster firing number Nf s by solving the following equation Nf p Qf p + Nf s Qf s = 1 Tc2q T0 (4.24) where Qf p and Qf s are quadrants of primary and secondary thrusters, both a subset of all possible quadrants. Qf p , Qf s ∈ h h 1 1 and Tc2q = Tcy Tcz iT iT h iT 1 −1 h −1 1 iT h iT −1 −1 . 4. A saturation check is done on total number of firings. If Nf p + Nf s exceeds Nlinit , both Nf p and Nf s are reduced keeping their relative ratio same and making Nf p + Nf s = Nlimit Two quadrant method makes optimal use of more than one thruster to produce the control torque. 4.5 Combination of torquers and thrusters To improve the life expectancy of attitude control hardware and to reduce the average power consumption, it is desired to use magnetic torquers as much as possible. Therefore, combining the actions from magnetic torquers and thrusters is an advantageous solution. It is done by dividing the demanded control torque Tc between 36 4.6 Stability for large angle maneuvers torquers and thrusters. A simple strategy to split the control torque is used which introduces a new variable Rsplit in the software. The Eqs. 4.25 and 4.26 are used to compute control torque demanded by thrusters and torquers respectively. h Tc−thrusters = Rsplit 0 Tcy Tcz h Tc−torquers = Tcx 0 0 iT iT (4.25) h + (1 − Rsplit ) 0 Tcy Tcz iT (4.26) In this work, Rsplit is kept constant at 0.5 but a better method to compute it onboard is a part of future work. The combination of torquers and thrusters improves the control in all three axes. The control in X-axis of CCF is still dependent on the earth’s magnetic field, so a full control in this axis is not possible. 4.6 Stability for large angle maneuvers Quaternion based attitude control problem is not globally stable [38] especially for large angle rotations. However they are still preferred over Euler angles because they provide singularity free analysis. The strongest tool to establish the stability of a control system is the Lyapunov stability criteria. As discussed in [38, 47], for large angle errors, the quaternion based control laws can result in infinite control action. This needs to be avoided in all cases by limiting the angular rates to small values which can then guarantee global stability of the attitude control. In the performed simulations in this work, this limit on angular rate is put on by the variable Nlimit , used for thrusters. It is also noticed that if Nlimit is set very high for example at 50, instability is observed in some cases, possibly where Liapunov stability criteria is not satisfied. A theoretical study of the stable zones for the two controllers is not performed in this work. The attitude control stability strongly depends on the thruster characteristics (i.e. impulse bit, operation frequency and plume) therefore this will be addressed later while doing system level tests when the thruster characteristics are fully known. 4.7 Summary This chapter describes the attitude control software developed for UWE-4. Given there is no requirement for control and presence of weak actuation in X-axis in CCF, a new concept of dynamic target attitude is developed to avoid taking excessive action in this direction. A conventional control law - PD and an advanced control law - sliding mode have been formulated and presented. The torque demanded by control law can be realized with a pure magnetic control using magnetic torquers or by newly incorporated vacuum arc thrusters or by a combination of both. 37 5 Simulation Results The simulation is developed in Matlab and Simulink environment without using any additional libraries other than the base package. Fig. 5.1 is the the graphical user interface developed for the simulation experiments. Based on the discussions in the previous chapter, a variety of controllers can be formed by choosing a set of options from Fig. 4.1. In this chapter, the results from all such possible controllers are presented and compared against each other. Figure 5.1: Graphical User Interface (GUI) for simulation experiments 39 Chapter 5 Simulation Results All the control modes, the two direction and different controller parameters in Fig. 5.1 have been discussed other than a few thruster parameters. The explanation of the thruster parameters not introduced previously are as follow: • Tcl: It is the lower cutoff of the demanded control torque i.e. if Tc < T cl, the control demanded torque Tc is set to zero. This is done to not send small currents to the magnetic torques and to avoid small fractional calculations for thrusters, which will only burden the PPU microprocessor. • Firing limit: It is the maximum number of allowed firings in 100 ms. This means that 10·F iringLimit is the maximum operating frequency of all thrusters combined. Although this number depends on the PPU design and the time constants involved in thruster operation, the main limit on this variable is coming from control stability aspect which is discussed in sec. 4.6. It is observed empirically that keeping Firing limit high (~50), i.e. 500Hz, introduces instability in attitude control. • T̂f actor : In the simulations, the base torque unit T̂0 is assumed as T̂0 = T̂f actor 10−7 . However, it is desired that this number should be calculated onboard. The T̂f actor leaves the space for this requirement in the simulation. An initialization script is always run before the simulation which imports the assumed parameters for each simulation run. Table 5.1 shows the list of some parameters and their values. The controller parameters are found out empirically and are kept constant for all simulations for the sake of clean comparison. For better visualization, all the simulation results shown in this chapter are done for one orbit. The simulations for more orbits have also been done but no new observations were found in them. The sec. 5.1 compares the B-dot control implementation in the simulation with the B-dot de-tumbling experiment done on UWE-3. A full magnetic and a full thruster based control are simulated in sec. 5.2 and sec. 5.3. In these sections the results with both the PD control and the SMC are presented. The sec. 5.4 discusses four different scenarios with variation in the control law and the type of thruster operation, when using a combination of thruster and torquers for attitude control. Finally, sec. 5.5 summarizes the findings from simulation experiments. 40 5.1 B-dot simulation Parameter ms Description Mass of cubesat Is Tensor Matrix stSimulation stADS initialEuler Simulation Time Step Sampling period of ADS Initial Attitude h wInitial Kbdot Kx , Ky , Kz Kxd , Kyd , Kzd K11 , K22 , K33 , λ Mresidual ρ Cd Aaero rCM rCP Value 1 kg −3 1.67 · 10 0 0 0 1.67 · 10−3 0 −3 0 0 1.67 · 10 0.1 sec 0.1 sec i h −50 −50 50 deg i 2 2 2 deg/s except (sec 5.1 and 5.2) Initial Angular velocity Controller Gain of B-dot controller 6000 Proportional gain of PD law 30, 30, 30 Derivative gain of PD law 500, 500, 500 Gain parameters of ASMC 0.1, 0.1, 0.1, 10−6 Magnetic Disturbance iT h −0.045 0.0126 0.006 Residual magnetic moment Aerodynamic drag Air density at cubesat altitude 1 · 10−13 kg/m3 Coefficient of drag 2.5 Cross-sectional area 1.732 · 10−2 m2 h i 0 0 0 m Position of center of mass h i Am2 10−2 10−2 10−2 m Position of center of pressure Table 5.1: Simulation Initialization Parameters 5.1 B-dot simulation The data from UWE-3 de-tumbling experiment provided a good basis for validating the simulation. The B-dot simulation with the same inih experiment was initialized i tial velocity from UWE-3 data with −35.282 0 −69.285 deg/sec. Two important difference which can be observed between the B-dot experiment from simulation and UWE-3 as seen in Fig. 5.2 can be explained as follows: 1. The results of B-dot experiment in the simulation have few overshoots and it settles 10 mins later than the UWE-3 detumbling experiment. This can be explained by the imperfect controller tuning in the simulation experiment. 2. The simulation results are missing the initial oscillations in all three axes. This is the effect of assuming a diagonal inertial matrix in the simulation experiment. Another notable difference between the simulation and UWE-3 is that the torquers in UWE-3 are digital, producing either ±0.6Am2 , while in the simulation they are 41 Chapter 5 Simulation Results treated as analog actuators. The torques in UWE-4 are also going to be analog. The B-dot simulation comparison shows that the simulation correctly captures the dynamics of attitude in satellite’s environment and is thus suitable for validating other controllers. 30 10 ωx ωx ωY 20 ωz −10 Angular velocity (deg/s) Angular velocity (deg/s) 10 0 −10 −20 −30 −40 −20 −30 −40 −50 −60 −50 −70 −60 −70 ωY 0 ωz 0 10 20 30 40 50 60 70 80 90 Time (min) 100 −80 0 10 20 30 40 50 60 70 80 90 Time (min) Figure 5.2: B-dot result from simulation (left) vs UWE-3 de-tumbling experiment result (right) 5.2 Full magnetic control A full magnetic control is possible in UWE-3 but so far it has not been extensively tested. The simulations of the full magnetic control can reveal the capabilities of torquers for attitude control. The results with full magnetic control using PD law and SMC law are shown in sec. 5.2.1 and sec. 5.2.2 respectively. It is suggested that SMC should be implemented on UWE-3 for comparing the simulation performance with in-orbit performance, before using it in UWE-4. The initial angular velocity h i for full magnetic control simulations is assumed as 0.05 0.05 0.05 deg/s. 5.2.1 PD control law The attitude and angular velocity of full magnetic control with PD control law is shown in Fig. 5.3. It can be seen that the attitude could not be controlled in this scenario but the angular velocities are bound within a range for each axes. Nevertheless, the performance of this controller is even worse than the B-dot control. In Fig. 5.4, it can be seen that magnetic torquers are commanded to produce magnetic moment far below their capability, which is due to the failure of demanded control torque to adapt to the absence of strong actuation force. 42 5.2 Full magnetic control 3 ωx (deg/s) φ (deg) 200 100 0 −100 −200 0 10 20 30 40 50 60 70 80 90 2 1 0 −1 100 0 10 20 30 40 Time (min) 50 0 −50 0 10 20 30 40 50 60 70 80 90 80 90 100 60 70 80 90 100 60 70 80 90 100 0 −2 100 0 10 20 30 40 50 Time (min) 60 2 ωz (deg/s) ψ (deg) 70 −1 Time (min) 40 20 0 60 1 ωy (deg/s) θ (deg) 100 −100 50 Time (min) 0 10 20 30 40 50 60 70 80 90 1 0 −1 100 0 10 20 30 40 Time (min) 50 Time (min) Figure 5.3: Full magnetic control with PD law - Attitude and Angular Velocity mx (Am2) 0.04 0.02 0 −0.02 −0.04 0 10 20 30 40 50 60 70 80 90 100 60 70 80 90 100 60 70 80 90 100 Time (min) my (Am2) 0.04 0.02 0 −0.02 0 10 20 30 40 50 Time (min) mz (Am2) 0.02 0 −0.02 −0.04 0 10 20 30 40 50 Time (min) Figure 5.4: Full Magnetic Control with PD control law - Magnetic Moment Output of Torquers 5.2.2 SMC law The results from sliding mode control law for full magnetic control are a major improvement from PD law as can be seen in Fig. 5.5. The attitude in Y-axis and Z-axis are in full control with the settling time of ~15 mins for small maneuvers and ~25-30 mins for large angle maneuvers (change of direction from in-track to anti-in-track). The oscillations observed in Fig. 5.5 and Fig. 5.6 from 35 to 60 mins can be explained by the presence of strong disturbance torques due to the high residual magnetic field. The SMC controller spins the satellite to 6 to 7 deg/s but due to the lack of strong action and the presence of disturbance torque which are as strong as the control action, the controller fails to slow down the satellite. In simple words, given such high disturbance torques, the controller of this scenario is working very close to instability. It is important to notice in Fig. 5.6, that the 43 Chapter 5 Simulation Results magnetic torquers are used to their capacity when the satellite is far away from its commanded attitude. But since PD law is simple and robust, more simulation experiments are performed (sec. 5.3 and sec. 5.4) to conclude on the idea that sliding mode control can be a better alternative over traditional PD control for UWE-4. 5 ωx (deg/s) φ (deg) 200 100 0 −100 −200 0 −5 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 ωy (deg/s) θ (deg) 50 0 −50 80 90 100 60 70 80 90 100 60 70 80 90 100 2 0 −2 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 Time (min) 5 ω (deg/s) 200 150 100 0 −5 z ψ (deg) 70 4 Time (min) 50 0 60 6 100 −100 50 Time (min) Time (min) −10 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 Time (min) Time (min) Figure 5.5: Full magnetic control with SMC law - Attitude and Angular Velocity mx (Am2) 0.1 0.05 0 −0.05 −0.1 0 10 20 30 40 50 60 70 80 90 100 60 70 80 90 100 60 70 80 90 100 Time (min) my (Am2) 0.1 0.05 0 −0.05 −0.1 0 10 20 30 40 50 Time (min) mz (Am2) 0.1 0.05 0 −0.05 −0.1 0 10 20 30 40 50 Time (min) Figure 5.6: Full Magnetic Control with SMC control law - Magnetic Moment Output of Torquers 44 5.3 Full thruster control 5.3 Full thruster control A full thruster based control is the next step in this work with an intend to check the implementation of thruster code and to access the capability of thrusters alone, to handle the attitude control. As mentioned before, firing limit and T̂f actor are kept as variables for experimentation and also because the thrusters are still in the design phase. Since the thrusters can’t produce any significant torque in X-axis, no control in this axis is realizable in this scenario. The sec. 5.3.1 and sec. 5.3.2 presents the results with PD and sliding mode control respectively. The thruster operation in these simulations is based on the one quadrant method as discussed in sec. 4.4.1. 5.3.1 PD control law The attitude and angular velocity results for this scenario are shown in Fig. 5.7. As can be seen in this plot, a direction change from in-track to anti-in-track is performed at 50 min. The settling time for this direction change is found out to be 150 sec, which can also be seen in Fig. 5.8. The accuracy in attitude is measured in terms of settling interval during steady state. From Fig. 5.9, it can be seen that settling interval of attitude in Y-axis is ±2.5° and in Z-axis is 2 ± 2°. The X-axis angular velocity modulates from its initial velocity of 2 deg/s due to the disturbance torques and minor torques arising due to the thrusters plume. Fig. 5.10 shows the firing frequency of the four thrusters on the left and, total and cumulative number of firings by individual thrusters on the right. It is important to observe that thrusters 1 and 3 fire more often than 2 and 4 which is a common observations in all further simulation results in this chapter. The total number of thruster firings in this scenario are 46,153. 3 ωx (deg/s) φ (deg) 200 100 0 −100 −200 0 10 20 30 40 50 60 70 80 90 2 1 0 100 0 10 20 30 40 ωy (deg/s) θ (deg) 0 −20 −40 0 10 20 30 40 50 60 70 80 90 80 90 100 60 70 80 90 100 60 70 80 90 100 1 0 0 10 20 30 40 50 Time (min) Time (min) 2 ωz (deg/s) ψ (deg) 70 2 −1 100 200 150 100 50 0 60 3 20 −60 50 Time (min) Time (min) 0 10 20 30 40 50 Time (min) 60 70 80 90 100 0 −2 −4 0 10 20 30 40 50 Time (min) Figure 5.7: Full thruster control with PD law - Attitude and Angular Velocity 45 Chapter 5 Simulation Results 2 200 1 150 0 100 −1 50 ψ (deg) θ (deg) −2 −3 0 −4 −50 −5 −100 −6 −150 −7 −8 50 50.5 51 51.5 52 52.5 53 53.5 54 54.5 −200 50 55 Time (min) 50.5 51 51.5 52 52.5 53 53.5 54 54.5 55 Time (min) Figure 5.8: Full thruster control with PD law - Settling Time 4.5 4 2 3.5 1.5 3 1 2.5 ψ (deg) θ (deg) 3 2.5 0.5 2 0 1.5 −0.5 1 −1 0.5 −1.5 0 −2 10 15 20 25 30 35 40 Time (min) −0.5 10 15 20 25 30 35 40 Time (min) Figure 5.9: Full thruster control with PD law - Settling Accuracy 4 1200 Thruster firings per minute 1000 800 600 400 200 5 x 10 4.5 Thruster firings cumulative Thruster 1 Thruster 2 Thruster 3 Thruster 4 Total 4 3.5 Thruster 1 Thruster 2 Thruster 3 Thruster 4 Total 3 2.5 2 1.5 1 0.5 0 0 0 10 20 30 40 50 Time (min) 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100 Time (min) Figure 5.10: Full thruster control with PD law - Thruster firings per minute and Cumulative firings 46 5.3 Full thruster control 5.3.2 SMC law The results of the full thruster control by sliding mode control law are shown in Fig. 5.11. For the sake of comparison with the previous scenario, the direction change is made at 50 min. The sliding mode control provides a more aggressive action than PD law as it can be seen that the angular velocity in Y and Z-axis goes close to 10 deg/s compared to 3 deg/sec in Fig. 5.7 for PD. Due to this aggressive action, the overshoot is more and it settles in 240 seconds as seen in Fig. 5.12. The attitude accuracy observed from Fig. 5.13 is ±0.3° in Y-axis and 1.2 ± 0.3° in Z-axis, which is better than the PD scenario. But this comes at the expense of more usage of thrusters which can be seen in Fig. 5.14. The total number of thruster firings are 292,667 which is more than 6 times the total firings in full thruster control with PD law. 3 ωx (deg/s) φ (deg) 200 100 0 −100 −200 2 1 0 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 ω (deg/s) θ (deg) 0 80 90 100 60 70 80 90 100 60 70 80 90 100 0 −10 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 Time (min) Time (min) 10 ωz (deg/s) 200 ψ (deg) 70 −5 y −50 150 100 50 0 60 5 50 −100 50 Time (min) Time (min) 5 0 −5 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 Time (min) Time (min) Figure 5.11: Full thruster control with SMC law - Attitude and Angular Velocity 40 200 150 20 100 0 ψ (deg) θ (deg) 50 −20 0 −50 −40 −100 −60 −150 −80 50 51 52 53 54 55 Time (min) 56 57 58 59 60 −200 50 51 52 53 54 55 56 57 58 59 60 Time (min) Figure 5.12: Full thruster control with SMC law - Settling Time 47 Chapter 5 Simulation Results 0.3 1.5 0.2 1.4 1.3 0 ψ (deg) θ (deg) 0.1 −0.1 1.2 1.1 −0.2 1 −0.3 0.9 −0.4 10 15 20 25 30 35 40 Time (min) 0.8 10 15 20 25 30 35 40 Time (min) Figure 5.13: Full thruster control with SMC law - Settling Accuracy 5 3000 Thruster firings per minute 2500 2000 1500 1000 500 0 3 Thruster firings cumulative Thruster 1 Thruster 2 Thruster 3 Thruster 4 Total 2.5 2 10 20 30 40 50 Time (min) 60 70 80 90 100 Thruster 1 Thruster 2 Thruster 3 Thruster 4 Total 1.5 1 0.5 0 0 x 10 0 10 20 30 40 50 60 70 80 90 100 Time (min) Figure 5.14: Full thruster control with SMC law - Thruster firings per minute and Cumulative firings 5.4 Combination of thrusters and torquers Since thrusters have limited fuel and thus a limited life, it is highly desirable to assist thrusters with any other attitude control method. The magnetic torquers can be used in parallel with thrusters to supplement them with some torque in all three axes. During simulations it was established that angular velocity of more than 2 deg/s in X-axis will effect the control of Y and Z axes due to cross-couplings. Thus, two objectives are set up for torquers. With the help of torquers, it is desired to 48 5.4 Combination of thrusters and torquers 1. Keep the angular velocity in X-axis, less than 1 deg/s 2. Produce a portion of the demanded control torque to maintain the desired direction The demanded control torque is divided between thrusters and torquers by a Split variable as discussed in sec. 5.4. For the simulation experiments in this section, the Split variable is kept constant at 0.5 (also shown in Fig. 5.1). Two theoretical operation strategies for thrusters namely one-quadrant and two-quadrant were discussed previously in sec. 4.4.1 and sec. 4.4.2. These two operation modes are evaluated with the PD control law in sec. 5.4.1 and sec. 5.4.2 and with the sliding mode control in sec. 5.4.3 and sec. 5.4.4. 5.4.1 PD law with one quad thruster The attitude and angular velocity plots for this scenario are shown in Fig. 5.15. Two direction changes are made in this simulation, one at 33 min and second at 68 min. The setting time for attitude in Z-axis is 120 sec and settling accuracy in Y-axis is ±2° and in Z-axis is 2 ± 3.5°. One plot for each settling time and settling interval is shown in Fig. 5.16. The performance of this scenario is comparable with the full thruster control with PD law but the total number of firings here are 20,865, which is less than half from there, which indicates the help from torquers to thrusters. 2 ωx (deg/s) φ (deg) 200 100 0 −100 −200 1 0 −1 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 ωy (deg/s) θ (deg) 0 −50 80 90 100 60 70 80 90 100 60 70 80 90 100 0 −4 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 Time (min) 4 ωz (deg/s) 200 ψ (deg) 70 −2 Time (min) 150 100 50 0 60 2 50 −100 50 Time (min) Time (min) 2 0 −2 −4 0 10 20 30 40 50 Time (min) 60 70 80 90 100 0 10 20 30 40 50 Time (min) Figure 5.15: PD law with One Quad Thrusters - Attitude and Angular Velocity 49 Chapter 5 Simulation Results 2.5 200 2 150 1.5 100 1 ψ (deg) θ (deg) 50 0.5 0 0 −50 −0.5 −100 −1 −150 −1.5 −2 10 12 14 16 18 20 22 24 26 28 30 −200 30 31 32 Time (min) 33 34 35 36 37 Time (min) Figure 5.16: PD law with One Quad Thruster - Settling Accuracy and Settling Time 4 700 Thruster firings per minute 600 500 400 300 200 100 0 2.5 Thruster firings cumulative Thruster 1 Thruster 2 Thruster 3 Thruster 4 Total 10 20 30 40 50 Time (min) 60 70 80 90 100 Thruster 1 Thruster 2 Thruster 3 Thruster 4 Total 2 1.5 1 0.5 0 0 x 10 0 10 20 30 40 50 60 70 80 90 100 Time (min) Figure 5.17: PD law with One Quad Thrusters - Thruster firings per minute and Cumulative firings It can be noticed from Fig. 5.17 that thrusters need to fire on an average of 200 FPM (firings per minute) only to keep the attitude but nevertheless the main purpose of thrusters will be orbit correction, which means that firings per minute should not be used as an absolute indicator of performance. Plots in Fig. 5.18 and Fig. 5.19 (left) depicts the magnitude of torque produced by torquers and thrusters relative to each other and Fig. 5.19 (right) shows the magnetic moment output of the torquers. In the X-axis, the torque contribution by thrusters is only due to plume, thus far less than the contribution by torquers. In Y and Z axes, despite the intend to split the demanded control torque equally between thrusters and torquers, it can be seen that torquers are incapable of producing the same amount as thrusters. The reason for this is the failure of Eq. 4.22 to find a good solution for magnetic moment (m) ~ to produce required torque. Since there 50 5.4 Combination of thrusters and torquers −7 1.5 −6 x 10 1.6 x 10 Torquers Thrusters Thrusters Torquers 1.4 |Tth−y| & |Ttoq−y| (N−m) |Tth−x| & |Ttoq−x| (N−m) 1.2 1 0.5 1 0.8 0.6 0.4 0.2 0 10 20 30 40 50 60 70 80 0 90 10 20 30 Time (min) 40 50 60 70 80 90 Time (min) Figure 5.18: PD law with One Quad Thrusters - Commanded Torque Load sharing between Thruster and Torquers in X and Y axis −6 x 10 −3 Thrusters Torquers −5 −10 −15 0 10 20 30 40 50 60 70 80 90 100 60 70 80 90 100 60 70 80 90 100 Time (min) 1 0.02 m (Am2) 0.8 y |Tth−z| & |Ttoq−z| (N−m) 1.2 x 10 0 x 1.4 5 m (Am2) 1.6 0.6 0 −0.02 −0.04 −0.06 0 10 20 30 40 50 Time (min) 0.4 m (Am2) 0.04 z 0.2 0 0.02 0 −0.02 −0.04 10 20 30 40 50 60 70 80 90 0 Time (min) 10 20 30 40 50 Time (min) Figure 5.19: PD law with One Quad Thrusters - Commanded Torque Load sharing in Z-axis and Magnetic Moment Output of Torquers is no guarantee of a solution, this equations attempts to find the closest distance ~ which between commanded control torque (Tc ) and local magnetic field strength (B) in the end results in producing only a fraction of expected torque from torquers. 5.4.2 PD law with two quad thruster This scenario is aimed to test the two-quadrant based operation theory for thrusters. As discussed previously in sec. 4.4.2, it solves a two integer problem to compute which two thrusters should be used and the number of times they need to fire. The attitude and angular velocity plots for this controller scheme with two direction changes at 33 min and 68 min are shown in Fig. 5.20. The attitude accuracy for this case is ±6° in Y axis and ±8° in Z axis and settling time is 90 seconds (shown in Fig. 5.21). The 51 Chapter 5 Simulation Results advantage of using two-quadrant based operation is really in quick direction change compared to one quadrant based operation. The decrease in accuracy is attributed to small number of thruster firings as can be seen in Fig. 5.22. The total number of firings are 7,619 which is 2.7 times less than last scenario. The relative contribution of commanded control torque in the three axes and magnetic moment output by torquers are shown in Fig. 5.23 and Fig. 5.24. 2 ωx (deg/s) φ (deg) 200 100 0 −100 −200 0 10 20 30 40 50 60 70 80 90 1 0 −1 100 0 10 20 30 40 Time (min) 0 −50 80 90 100 0 10 20 30 40 50 60 70 80 90 60 70 80 90 100 60 70 80 90 100 0 −2 100 0 10 20 30 40 50 Time (min) 2 ωz (deg/s) 200 ψ (deg) 70 2 Time (min) 150 100 50 0 60 4 ωy (deg/s) θ (deg) 50 −100 50 Time (min) 0 10 20 30 40 50 60 70 80 90 0 −2 −4 100 0 10 20 30 Time (min) 40 50 Time (min) Figure 5.20: PD law with Two Quad Thrusters - Attitude and Angular Velocity 2 200 0 150 100 −2 ψ (deg) θ (deg) 50 −4 −6 0 −50 −8 −100 −10 −150 −12 30 31 32 33 34 Time (min) 35 36 37 −200 30 31 32 33 34 35 36 37 Time (min) Figure 5.21: PD law with Two Quad Thruster - Settling Accuracy and Settling Time 5.4.3 SMC law with one quad thruster In this scenario, the sliding mode control with one quadrant method is simulated. The direction changes takes place at 51 min and 67 min. The attitude and angular velocity results are shown in Fig. 5.28. It is important to notice that X-axis is significantly more stabilized here when compared to the last two scenarios. The 52 5.4 Combination of thrusters and torquers 600 Thruster firings per minute 500 400 300 200 100 8000 Thruster firings cumulative Thruster 1 Thruster 2 Thruster 3 Thruster 4 Total 7000 6000 5000 4000 3000 2000 1000 0 0 0 10 20 30 40 50 60 70 80 90 Thruster 1 Thruster 2 Thruster 3 Thruster 4 Total 100 0 10 20 30 40 50 60 70 80 90 100 Time (min) Time (min) Figure 5.22: PD law with Two Quad Thrusters - Thruster firings per minute and Cumulative firings −6 −7 1.5 x 10 1.2 x 10 Thrusters Torquers Torquers Thrusters |Tth−y| & |Ttoq−y| (N−m) |Tth−x| & |Ttoq−x| (N−m) 1 1 0.5 0.8 0.6 0.4 0.2 0 0 10 20 30 40 50 Time (min) 60 70 80 90 10 20 30 40 50 60 70 80 90 Time (min) Figure 5.23: PD law with Two Quad Thrusters - Commanded Torque Load sharing between Thruster and Torquers in X and Y axis occasional shoot off of the angular velocity in X-axis is in that phase of orbit where the earth’s magnetic field is getting close to being parallel to X-axis and thus no control action can be obtained from magnetic torquers in X-axis. The settling time for direction change as can be observed in Fig. 5.29 is ~200 sec. The attitude accuracies from Fig. 5.30 in Y-axis is ±0.25°and in Z-axis is +1.25° ± 0.25°. The average number of firings used by this controller is close to 3000 per minute, which is very high and, the total firings in one orbit is 285,051 (Fig. 5.25). As can be seen in Fig. 5.26 and Fig. 5.27, the torquers provide only a tiny fraction of demanded torque but they are quite used to their full capacity. 53 Chapter 5 Simulation Results −6 1.5 x 10 0.01 0 −0.01 −0.02 0 10 20 30 40 50 60 70 80 90 100 60 70 80 90 100 60 70 80 90 100 Time (min) 1 0.1 y m (Am2) |Tth−z| & |Ttoq−z| (N−m) x m (Am2) Thrusters Torquers 0.05 0 −0.05 −0.1 0.5 0 10 20 30 40 50 Time (min) 0.02 0 z m (Am2) 0.04 −0.02 0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 Time (min) Time (min) Figure 5.24: PD law with Two Quad Thrusters - Commanded Torque Load sharing in Z-axis and Magnetic Moment Output of Torquers 5 3000 Thruster firings per minute 2500 2000 1500 1000 500 0 3 Thruster firings cumulative Thruster 1 Thruster 2 Thruster 3 Thruster 4 Total 10 20 30 40 50 60 70 80 90 100 Thruster 1 Thruster 2 Thruster 3 Thruster 4 Total 2.5 2 1.5 1 0.5 0 0 x 10 0 10 Time (min) 20 30 40 50 60 70 80 90 100 Time (min) Figure 5.25: SMC law with One Quad Thrusters - Thruster firings per minute and Cumulative firings 5.4.4 SMC law with two quad thruster The two quadrant operation method of thrusters with sliding mode control is simulated with direction changes at 50 min and 67 min and the results of attitude and angular velocity are shown in Fig. 5.31. As can be seen from Fig. 5.33 that the attitude accuracy of this controller is the same as previous scenario. But as observed from Fig. 5.32, the settling time after direction change is ~160 sec, which is better than SMC with one thruster method. 54 5.4 Combination of thrusters and torquers −5 −6 1.2 x 10 2 x 10 Thrusters Torquers Torquers Thrusters 1.8 1 |Tth−y| & |Ttoq−y| (N−m) |Tth−x| & |Ttoq−x| (N−m) 1.6 0.8 0.6 0.4 1.4 1.2 1 0.8 0.6 0.4 0.2 0.2 0 0 10 20 30 40 50 60 70 80 10 90 20 30 40 50 60 70 80 90 Time (min) Time (min) Figure 5.26: SMC law with One Quad Thrusters - Commanded Torque Load sharing between Thruster and Torquers in X and Y axis −5 x 10 Thrusters Torquers 0.1 0.05 0 x 1.8 m (Am2) 2 1.6 −0.05 0 10 20 30 40 50 60 70 80 90 100 60 70 80 90 100 60 70 80 90 100 Time (min) 0.1 1.2 m (Am2) 1 0.05 0 y |Tth−z| & |Ttoq−z| (N−m) −0.1 1.4 0.8 −0.05 −0.1 0 10 20 30 40 50 Time (min) 0.6 m (Am2) 0.1 0.4 0 0.05 0 z 0.2 −0.05 −0.1 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 Time (min) Time (min) Figure 5.27: SMC law with One Quad Thrusters - Commanded Torque Load sharing in Z-axis and Magnetic Moment Output of Torquers 2 ωx (deg/s) φ (deg) 200 100 0 −100 −200 0 10 20 30 40 50 60 70 80 90 1 0 −1 100 0 10 20 30 40 Time (min) 50 0 y −50 80 90 100 0 10 20 30 40 50 60 70 80 90 60 70 80 90 100 60 70 80 90 100 0 −10 100 0 10 20 30 40 50 Time (min) 5 ω (deg/s) 200 150 100 50 z ψ (deg) 70 10 Time (min) 0 60 20 ω (deg/s) θ (deg) 100 −100 50 Time (min) 0 10 20 30 40 50 Time (min) 60 70 80 90 100 0 −5 −10 −15 0 10 20 30 40 50 Time (min) Figure 5.28: SMC law with One Quad Thrusters - Attitude and Angular Velocity 55 Chapter 5 Simulation Results 30 200 150 20 100 10 ψ (deg) θ (deg) 50 0 0 −50 −10 −100 −20 −150 −30 50 50.5 51 51.5 52 52.5 53 53.5 54 54.5 55 −200 50 50.5 51 51.5 52 Time (min) 52.5 53 53.5 54 54.5 55 Time (min) Figure 5.29: SMC law with One Quad Thrusters - Settling Time 0.3 1.5 1.45 0.2 1.4 0.1 ψ (deg) θ (deg) 1.35 0 −0.1 1.3 1.25 1.2 −0.2 1.15 −0.3 1.1 −0.4 10 15 20 25 Time (min) 30 35 40 1.05 10 15 20 25 30 35 40 Time (min) Figure 5.30: SMC law with One Quad Thrusters - Settling Accuracy The use of thrusters in terms of average firings per minute and the cumulative firings and, their relative use compared to torquers are also very similar to previous case, therefore most of the plots are not shown for this controller. The total number of firings used by this controller are 281,334 which is less than the previous scenario. It is concluded that the only advantage of using a two-quadrant operation of thrusters is the quicker response during direction change from in-track to anti-in-track direction or vice versa. 56 5.4 Combination of thrusters and torquers 2 ωx (deg/s) φ (deg) 200 100 0 −100 −200 1 0 −1 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 ω (deg/s) θ (deg) 0 80 90 100 60 70 80 90 100 60 70 80 90 100 0 −10 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 Time (min) Time (min) 10 ωz (deg/s) 200 ψ (deg) 70 −5 y −50 150 100 50 0 60 5 50 −100 50 Time (min) Time (min) 5 0 −5 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 Time (min) Time (min) Figure 5.31: SMC law with Two Quad Thrusters - Attitude and Angular Velocity 40 200 30 150 20 100 10 ψ (deg) θ (deg) 50 0 −10 0 −50 −20 −30 −100 −40 −150 −50 50 51 52 53 54 55 56 57 58 −200 50 59 Time (min) 51 52 53 54 55 56 57 58 59 Time (min) 0.3 1.7 0.2 1.6 0.1 1.5 0 1.4 ψ (deg) θ (deg) Figure 5.32: SMC law with Two Quad Thrusters - Settling Time −0.1 1.3 −0.2 1.2 −0.3 1.1 −0.4 10 15 20 25 Time (min) 30 35 40 1 10 15 20 25 30 35 40 Time (min) Figure 5.33: SMC law with Two Quad Thrusters - Settling Accuracy 57 Chapter 5 Simulation Results Control law & Settling Interval Settling Thruster type Time Full PD uncontrolled SMC Y: ±1.2° Z:1.5° ± 1.2° 28 min Magnetic Full PD - One quad Y: ±2.5° Z:2 ± 2° 150 s ◦ SMC - One quad Y: ±0.3° Z:1.2 ± 0.3° 240 s thrusters ◦ Combination PD - One quad Y: ±2.0° Z:2 ± 3.5° 120 s of PD - Two quad Y: ±6.0° Z:±8.0° 90 s ◦ torquers & SMC - One quad Y: ±0.25° Z:1.25 ± 0.2° 200 s thrusters SMC - Two quad Y: ±0.25° Z:1.25◦ ± 0.2° 160 s Table 5.2: Comparison of Different Simulated Scenarios Avg. FPM 476.2 3017.2 215.1 78.5 2938.4 2900.1 5.5 Summary Results from many possible variations of the controller implementations are presented in this chapter. The entire simulation environment is developed based on the theories in chapters 2 and 3. Using the skeleton of the controller in Fig. 4.1 and all concepts in chapter 4, different scenarios were simulated and showcased with occasional 1-1 comparison. A full comparison of all the simulated scenarios is presented in Tab. 5.2. The next chapter addresses the architecture of UWE-4 hardware and implementation of the developed control philosophies on the hardware platform. The discussion about attitude control is continued in chapter 7 where many details observed in this chapter will be highlighted and discussed. 58 6 Implementation The control theory developed as a part of this thesis work needs to be implemented on the ADCS board and it has to be done in the same framework supporting all other hardware components. In this chapter an overview of the other hardware components related to orbit and attitude control system with their interactions is presented in sec. 6.1. The attitude control developed in this work is implemented in C-language and has been tested on the ADCS board which will be discussed in sec. 6.2. Since the UWE-4 project is in its beginning phase, a new software framework is also under development. It is likely that introduction of this new framework which includes a new operating system will change many on-board implementation aspects. Therefore, implementation and extensive program in loop testing is not in focus right now. 6.1 Hardware architecture The general purpose communication bus to be used in UWE-4 is I2C. As per the current concept (shown in Fig. 6.1) there are two I2C buses. Out of the two I2C buses, there is one dedicated to orbit and attitude control, on which ADCS communicates with PPU and Panels. The other I2C bus is used for cross talk between OBDH and ADCS, power system, communication and other boards. The ADCS already has an attitude determination system in place which has been demonstrated in UWE-3. The performance aspects of ADS from UWE-3 are presented in [11, 12, 27]. The PPU interface with ADCS is in development as a part of another Master thesis project and the interface of ADCS with Panels is already in place in the form of an isotropic Kalman filter. For UWE-4, the isotropic Kalman filter implementation needs to be integrated in the control software. A new operating system for better communication with the ground segment and among different boards is also in development. 6.2 Low level code Most of the control code was developed in Matlab/Simulink as they provide quick ways to simulate and visualize the results but Matlab/Simulink is not a microcontroller language. The micro-controller used by ADCS and other hardware is 59 Chapter 6 Implementation Figure 6.1: Hardware architecture of UWE-4[1] Texas Instruments MSP430. C-language is used as the programming language for previous UWE missions and it will continue to be so for UWE-4. The performance of code simulated on two different hardware platforms always differ. Therefore, it is very important to implement the code on the hardware to be used and perform validation tests in a hardware in loop environment. As a part of this work, the attitude control code is translated in C-code and static runs of the C-code were compared with Matlab/Simulink output to test for any bugs in implementation. The resulted implementation of the control code in lower level C code has produced 7 programs which are listed below: 1. attitude_control.c - The main control routine which when executed calls other subroutines to form the controller. 2. pd_attitude_control_law.c - This is the PD control law. It needs current c attitude (q) and angular velocity (ωbi ) and produces the control torque demand (Tc ) 3. asmc_attitude_control_law.c - Sliding mode control law is the alternative to PD control. It requires one more input, semi major axis (a), than PD control law. 4. load_divide.c - It is to divide the demanded control between torquers and 60 6.3 Summary thrusters. Currently it contains a simple implementation but with the finding of this work and directions of future work discussed in next chapter, load_divide.c should be improved further. 5. command_torquers.c - It outputs the magnetic moment (m) ~ to be produced by the torquers taking Tc−torquers as input. In the next chapter, direction for improvement in this function is discussed. 6. command_thruster_one_quad.c - This is the one quadrant based operation code. The input to this function is Tc−thrusters and it outputs a firing command Nf iring to one thruster. 7. command_thruster_two_quad.c - This is the two quadrant based operation code, an alternative to one quadrant based operation. The input to this function is Tc−thrusters and it outputs two firing command Nf p and Nf s to the primary thruster and secondary thruster. 6.3 Summary In this chapter, the hardware architecture for UWE-4 which is under development is discussed. The result of this work in terms of implementation are the C codes which are listed and explained. It is expected that the mode of communication of ADCS board with PPU, OBDH and Panels is likely to change the interaction of control parameters like the controller gains with the ground station. Thus, it is suggested to adapt the control code accordingly in the future. 61 7 Conclusion and Future Work 7.1 Conclusions In this master thesis work, a simulation environment for a combined attitude and orbit control system for UWE-4 has been developed. It is established that an accurate simulation is the backbone of any project which deals with dynamics and thus a crucial step towards implementation. The fundamental concepts of modeling the cubesat with its orbit and environment are discussed in the initial chapters. The data from UWE-3 sensors have been used extensively to estimate the realistic sensor noises and disturbance parameters with their corresponding effect on the attitude of the cubesat. A non-linear model of satellite’s attitude is considered over a linear model. The linear modeling and control theory is also not suitable due to the requirement of large angle maneuver from in-track to anti-in-track direction or vice versa. The advantages of SGP-4 propagator could not be exploited as an attempt to modify SGP-4 propagator to include low thrust effect was not fruitful. Nevertheless, a simplified orbit propagator was implemented which deviates from SGP-4 output by 10 kms in one day. Although, a more precise orbit simulation will be necessary to simulate formation flying scenarios, the current status of orbit propagator is sufficient enough to simulated relative effect of thrusters for orbit maneuvers. The simplified orbit propagator is without doubt fit for attitude control simulations. For the sake of orbit correction or maneuvering, the cubesat should be able to change between in-track and anti-in-track direction. Limited action present in Xaxis motivated the search for dynamic target quaternions which when used should not provoke the need of precise attitude control in X-axis. The two dynamic attitude target equations obtained for each direction, also aim for attitude stabilization in X-axis which in turn also helps in better attitude control in Y and Z axes. Two types of control laws are tested for the attitude control problem; a PD control law which is linear and a sliding mode control law which is non-linear. Since the satellite’s attitude is non-linear and it is also modeled as a non-linear plant, the linear control methods are by nature not the best choice for the problem. The linear control like PD can be used when attitude control is desired without any requirement of change in the orientation. In this thesis, the main focus of study is the attitude control for the purpose of orbit control which needs frequent large angle maneuvers to change the orientation. With the presented tuning of the two control 63 Chapter 7 Conclusion and Future Work laws, the sliding mode control performs better than the PD control law in terms of the stability of the X-axis and the attitude accuracy in terms of settling interval. This can be explained by the fact that the PD law has no knowledge of the plant dynamics while the sliding mode control law compensates for the dynamics. It can be clearly observed from Tab. 5.2 that the attitude accuracy is directly proportional to firings per minute (FPM). Both controller were found to be stable but it is important to mention that global stability is not guaranteed if the saturation limit on thruster firing frequency is increased. Detailed study of the unstable zones for attitude control is pointed out as future work. From the point of actuators, three modes of control are considered, a full torquers based action, a full thrusters based action and a combination of thrusters and torquers. The output torque by torquers is only a fraction of the commanded torque due to the dependency of earth’s magnetic field. In-fact, the torquer equation (Eq. 4.22) rarely finds a solution which results in limited control when torquers are used. Vacuum arc thrusters which are still in development are capable of producing thrust of 0.5μN to 20μN. The torque that can be generated with this thrust together with the fast operating frequency of thrusters can provide precise attitude control (±0.25° in Y and Z axis with 1.25° bias in Z-axis) which is demonstrated by the simulations. Two modes of operation by the thrusters are implemented, one-quadrant and twoquadrant based. The two-quadrant based operation gives faster response than the other. Based on the B-dot simulation, it is concluded that the simulation captures cubesats dynamics in its environment very well. Other simulation results suggest that sliding mode control is better for precise attitude control in Y and Z axes and also for better stability in X-axis. The simulation of sliding mode law for full magnetic control motivates to experiment with sliding mode control law already in UWE-3. The output of the thesis is the Simulink model and control code functions in Matlab/Simulink and in C-language. The control code implementation in the new framework which is currently in development will require some additional modifications of the functions in C-code. The Simulink model is however ready for further research on attitude and orbit control of UWE-4. 7.2 Future work Since UWE-4 is a state of art research project in its beginning phase, it is important to point out the directions of future work for the continuation of research. Three important areas of future work in continuation of this work are discussed here in sec. 7.2.1, sec. 7.2.2 and sec. 7.2.3. 64 7.2 Future work 7.2.1 Equal distribution of thruster usage It is observed that whenever thrusters are used Thruster 1 and Thruster 3 are used much more than the other two. It is suspected that this can just be an artifact in the simulation arising from the way the random numbers are generated in Simulink. Nevertheless, this is unacceptable for the simulation and for the mission, and thus needs to be investigated further. It needs to be investigated if unequal use of thruster is only an artifact effect from simulation or could it be a real issue with the satellite by the nature of the control implementation itself. It is further suggested that, in order to completely avoid this affect, a spin stabilization control on X-axis with angular rate of 1 deg/s could be implemented. This can be done easily with small modification of the control laws. 7.2.2 Controller stability analysis As mentioned in sec. 7.1, a comprehensive study of stability of attitude control is required. The zone of instability needs to be quantified in terms of angular acceleration so that appropriate saturation limits could be used. This study needs to be controller specific too. If in the future more controllers are implemented, they all must go under a strict stability check before their implementation. 7.2.3 Efficient use of torquers It is essential to maximize the use of magnetic torquers because they are robust and have longer life. In the current implementation, a simple equation to compute magnetic moment from the demanded torque and local magnetic field is used. For UWE-4 mission, a precise attitude control is desired only in Y and Z axes. The equation for magnetic moment however does not take this into account, but it treats all axes with equal importance. This information together with the conclusion from the work for sec. 7.2.1 should be combined to come up with a new strategy for efficient use of torquers. 7.2.4 Orbit Propagator As mentioned in chapter 3, the simplified orbit propagator needs to be improved in terms of its accuracy. This should be done by incorporating more terms in the Newton’s second law and by finding out an strategy to make corrections for the still unaccounted terms. While doing so, the simplified orbit propagator should be compared with SGP-4 to quantify the error. The simplified orbit propagator also needs to be implemented on the hardware which is left out as a future work. 65 Acknowledgments I want to express my deep gratitude towards everyone who have helped me or supported me during my thesis work. First I would like to thank Prof. Dr. Klaus Schilling from JMUW for providing me this opportunity to work on a space mission. Challenging work has always motivated me and this definitely has been one of them. I would also like to thank Prof. Dr. Johnny Ejemalm for acting as a remote examiner from Luleå Technical University. Next, I would like to thank my supervisor Philip Bangert who has encouraged me to take ownership over my work but still has mentored me in the best possible way. With the guidance of Philip, it was very easy to cross the roadblocks in the project. Many thanks to Stephan Busch and Ali Kheirkhah for mentoring me during the team design project which eventually became my master thesis topic. I would also like to thank Karthik Ravandoor who has helped me when I was struggling with orbit propagators. Now, i would like to thank my companions in UWE-4 project, Alex Kramer, Jesko Bahr and Arunkumar Rathinam. Alex has helped me many times especially with the hardware. I wish all three of them the very best for completing their master thesis project and in their further career. I want to thank John Panikulam, Janis Gailis and Karim Bondoky as my friends. John has been a great friend to me during the time spent in Würzburg. Very importantly, I want to thank my parents for providing me the best environment to grow and learn. I also thank my sisters and family members who have supported me throughout my life. I also want to thank my girlfriend who has provided me invaluable emotional support. Lastly I extend my gratefulness to all my friends for helping and encouraging me to move forward in my life and career. 67 Bibliography [1] I. Kronhaus, K. Schilling, S. Jayakumar, and A. Kramer, “Design of the uwe-4 picosatellite orbit control system using vacuum-arc-thrusters,” in 33rd International Electric Propulsion Conference, 2014. [2] C. Lafleur, “Spacecraft encyclopedia: A comprehensive census of all spacecrafts ever launced,” http://claudelafleur.qc.ca/Spacecrafts-index.html. [3] H. Helvajian and S. W. Janson, Small Satellites: Past, Present, and Future. AIAA, 2009. [4] “Cubesat design specification, rev.12,” Stanford University and California Polytechnic Institute, Tech. Rep., 2009. [5] M. A. P. Lains, “A magnetometer instrument for attitude determination in a nanosatellite,” Master’s thesis, Department of Physics, University of Oslo, 2011. [6] B. S. Gregory, “Attitude control system design for ion, the illinois observing nanosatellite,” Master’s thesis, University of Illinois at Urbana-Champaign, 2004. [7] G. Brathen, “Design of attitude control system of a double cubesat,” Master’s thesis, Norwegian University of Science and Technology, 2013. [8] D. V. Guerrant, “Design and analysis of fully magnetic control for picosatellite stabilization,” Master’s thesis, California Polytechnic State University, 2005. [9] F. Reichel, P. Bangert, S. Busch, K. Ravandoor, and K. Schilling, “The attitude determination and control system of the picosatellite uwe-3,” in 19th IFAC Symposium on Automatic Control in Aerospace, 2013. [10] F. Reichel, “Attitude control system of uwe-3: Design, testing and veri cation,” Master’s thesis, Julius-Maximilians-University Würzburg, 2012. [11] P. Bangert, S. Busch, and K. Schilling, “Performance characteristics of the uwe3 miniature attitude determinatin and control system,” in 2nd IAA Conference on Dynamics and Control of Space Systems (DYCOSS), 2014. [12] S. Busch, P. Bangert, and K. Schilling, “Attitude control demonstration for pico-satellite formation flying by uwe-3,” in 4S-Symposium, 2014. [13] J. Mueller, R. Hofer, and J. Ziemer, “Survey of propulsion technologies applicable to cubesats,” Jet Propulsion Laboratory, California Institute of Technology, Tech. Rep., 2010. 69 Bibliography [14] F. Rysanek, J. W. Hartmann, J. Schein, and R. Binder, “Microvacuum arc thruster design for a cubesat class satellite,” in Conference on Small Satellites, 2002. [15] S. Fuchikami, M. Nakamoto, K. Toyoda, and M. Cho, “Development of vacuum arc thruster for nano satellite,” in 33rd International Electric Propulsion Conference, 2013. [16] Jonathan, “Development of a vacuum arc thruster for nanosatellite propulsion,” Master’s thesis, Stellenbosch University, 2008. [17] J. Lun and C. Law, “Influence of cathode shape on vacuum arc thruster performance and operation,” in 33rd International Electric Propulsion Conference, 2013. [18] M. Pietzka, M. Kühn-Kauffeldt, J. Schein, T. Mai, and A. Lebeda, “Innovative vacuum arc thruster for cubesat constellations,” in International Electric Propulsion Conference, 2013. [19] A. R. C. Mission Design Division Staff, “Small spacecraft technology state of the art,” NASA, Tech. Rep., 2014. [20] D. Selva and D. Krejci, “A survey and assessment of the capabilities of cubesats for earth observation,” Acta Astronautica, vol. 74, pp. 50–68, 2012. [21] G. Bonin, N. Orr, S. Armitage, N. Roth, B. Risi, and R. E. Zee, “The canx-4&5 mission: Achieving precise formation flight at the nanosatellite scale,” in 64th International Astronautical Congress, 2013. [22] U. of Toronto Institute for Aerospace Studies Space Flight Lab, “http://web.archive.org/web/20141028193431/http://utias-sfl.net/?p=2154.” [23] I. Kronhaus, K. Schilling, M. Pietzka, and J. Schein, “Simple orbit and attitude control using vacuum arc thrusters for picosatellites,” Journal of Spacecraft and Rockets, 2014. [24] M. J. Sidi, Spacecraft Dynamics and Control, M. J. Rycroft and R. F. Stengel, Eds. Cambridge University Press, 1997. [25] P. Fortescue, G. Swinerd, and J. Stark, Spacecraft Systems Engineering: Fourth Edition. Wiley, 2011. [26] J. Li, M. Post, T. Wright, and R. Lee, “Design of attitude control systems for cubesat-class nanosatellite,” Journal of Control Science and Engineering, 2013. [27] S. Busch, P. Bangert, S. Dombrovski, and K. Schilling, “Uwe-3, in-orbit performance and lessons learned of a modular and flexible satellite bus for future picosatellite formations,” in 65th International Astronautical Congress, 2014. [28] P. Bangert, “Attitude determination system of uwe 3 - development, test and verification,” Master’s thesis, University of Wuerzburg, 2012. [29] C. Roithmayr, “Contributions of spherical harmonics to magnetic and gravitational fields,” NASA Johnson Space Center, Tech. Rep., 1996. 70 Bibliography [30] A. C. Mueller, “A fast recursive algorithm for calculating the forces due to the geopotential,” NASA Johnson Space Center, Tech. Rep., 1996. [31] J. B. Lundberg and B. E. Schutz, “Recursion formulas of legendre functions for use with nonsingular geopotential models,” Journal of Guidance, Control, and Dynamics, vol. 11, pp. 32–38, 1988. [32] A. Kramer, S. Dadhich, J. Bahr, and S. S., “Uwe-4 software developmentsimulation and data analysis,” University of Wuerzburg, Tech. Rep., 2014. [33] B. Dachwald, “Optimization of very-low-thrust trajectories using evolutionary neurocontrol,” in 55th International Astronautical Congress, 2004. [34] S. Gupta, M. X. J. Raj, and . Ram Krishan Sharma1, “Short-term orbit prediction with j2 and mean orbital elements,” International Journal of Astronomy and Astrophysics, vol. 1, pp. 135–146, 2011. [35] V. Zuccarelli, “Earth-moon transfer orbits,” Master’s thesis, Delft University of Technology, 2009. [36] D. A. Vallado, P. Crawford, R. Hujsak, and T. Kelso, “Revisiting spacetrack report 3,” in AIAA/AAS Astrodynamics Specialist Conference, 2006. [37] “https://web.archive.org/web/20140923103520/http://en.wiki pedia.org/wiki/Geopotential_model,” geopotential model. [38] B. Wie and P. M. Barbat, “Quaternion feedback for spacecraft large angle maneuvers,” Journal of Guidance Control and Dynamics, vol. 8, pp. 360–365, 1985. [39] H. Septanto, R. T. Bambang, A. Syaichu-Rohman, R. E. Poetro, and A. R. Ibrahim, “Quaternion-based attitude control system design of single and cooperative spacecrafts: Boundedness of solution approach,” Modelling and Simulation in Engineering, 2014. [40] S. Dodds and S. Williamson, “A signed switching time bang-bang attitude control law for fine pointing of flexible spacecraft,” International Journal of Control, vol. 40(4), pp. 795–811, 1984. [41] B. Agrawal, R. Mcclelland, and G. Song., “Attitude control of flexible spacecraft using pulse-width pulse-frequency modulated thrusters,” Space Technology, vol. 17(1), pp. 15–34, 1997. [42] T. Krovel, “Optimal tuning of pwpf modulator for attitude control,” Ph.D. dissertation, Norwegian University of Science and Technology, 2009. [43] . Hegrenæs, J. Gravdahl, and P. Tøndel, “Spacecraft attitude control using explicit model predictive control,” Automatica, vol. 41(12), pp. 2107–2114, 2005. [44] M. Leomanni, A. Garulli, A. Giannitrapani, and F. Scortecci, “An mpc-based attitude control system for all-electric spacecraft with on/off actuators,” in IEEE 52nd Annual Conference on Decision and Control (CDC), 2013. 71 Bibliography [45] P. M. Tiwari, “Spacecraft attitude control using non-singular finite time convergence fast terminal sliding mode,” International Journal on Instrumentation Technology, vol. 1(2), pp. 124–142, 2012. [46] R. Wisniewski, “Satellite attitude control using only electromagnetic actuation,” Ph.D. dissertation, Department of Control Engineering, Aalborg University, 1996. [47] D. Fragopoulos and M. Innocenti, “Stability considerations in quaternion attitude control using discontinuous lyapunov functions,” IEE Proceedings - Control Theory and Applications, vol. 151, pp. 253–258, 2004. 72 Nomenclature Tˆ0 Torque unit magnitude Ω Angular speed of wheel ω0 Angular velocity of the orbit p ωqr Angular velocity of ’q’ in w.r.t ’r’ reference frame in ’p’ reference frame τ Disturbance torque in CCF Aw Layout matrix of wheel Bx Magnetic field vector in x frame (if unspecified, x = CCF) Is Moment of Inertia of satellite Iw Moment of inertia of wheel m magnetic moment in CCF Nf Number of firing (primary or seconday thruster) q Quaternion Qf Quadrant of firing (primary or seconday thruster) T Torque T0 Thruster torque magnitude Tyx Transformation Matrix from x to y ADCS Attitude determination and control system ADS Attitude determination system BCF Body coordinate frame CCF Control coordinate frame 73 Nomenclature ECEF Earth center earth fixed ECI Earth center inertial GPS Global Positioning Satellite JMUW Julius-Maximilians-University Würzburg MPC Model predictive control OCF Orbit coordinate frame PD Propotional Derivative PPU Power processing unit SGP-4 Simplified General Perturbations Model-4 SMC Sliding Mode Control UniBwM University of Federal Armed Forces in Munich UWE Universität Würzburg Experimentalsatellit VAT Vacuum arc thrusters w.r.t with respect to WGN White guassian noise 74
© Copyright 2026 Paperzz