Anda di halaman 1dari 22

BIRDY

Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

Technical Note on AOCS


Technical solutions for AOCS

Abstract :
This documentation bases on the previous NAV-001 technical note, which provided some basic algorithm
for the LuPPT subsystem and some simple MATLAB tool to simulate the attitude performance of
BIRDY, but all kinds of methods only can be used in step by step motion. In other words, we cannot get
whole results in a period of time. Another problem met in previous document was how to cancel the
un-wanted angular velocity when the COM was not coincide with the COG. In order to solve these two
main issues, here provides a continuous nonlinear model of our CubeSat by using SIMULINK and
presented some simulation results by using two different control laws.
The first results about the simulation model give the following conclusion:
1. PD-controller is more efficient and robust way for the detumbling mode.
2. Backstepping is more efficient than PD-controller in pointing mode.
3. Detumbling mode commonly spend around 3.6 hours to make the BIRDY stable.
Author(s) :
Lin Hao-Chih (Jim), AOCS internship, DAA of NCKU, Taiwan

Applicability
STM PFM
x

Latest Confidence Levels

FM1
X

CL 2

Date : dd-mmm-yyyy

<Version-Nb>

CL 3

Date : dd-mmm-yyyy

<Version-Nb>

CL 4

Date : dd-mmm-yyyy

<Version-Nb>

Checked By

Function

Internal Review to CL=3

Jordan VANNISTEN
Marco AGNAN

System Engineer
System Engineer intern

Date : dd-mmm-yyyy

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

Contents
I.

- Introduction ....................................................................................................................... 2

I.1. - Context & Purpose .................................................................................................................... 2


I.2. - List of abbreviations................................................................................................................... 2
I.3. - Internal reference documents .................................................................................................... 2
I.4. - External reference documents ................................................................................................... 2
II.

- Definitions and notation .................................................................................................. 3

II.1.

- BIRDY definitions ............................................................................................................... 3

II.2.

- Reference frames .............................................................................................................. 3

II.3.

- Attitude representation ....................................................................................................... 3

III.

- Mathematical modeling ................................................................................................... 5

III.1.

- BIRDY kinematics .............................................................................................................. 5

III.2.

- BIRDY dynamics ................................................................................................................ 5

III.3.

- SIMULINK Layout .............................................................................................................. 6

III.4.

-Actuator dynamics .............................................................................................................. 6

III.5.

Control law ......................................................................................................................... 9

IV.

- Mathematical modeling ................................................................................................. 12

IV.1.

- Detumbling mode ............................................................................................................. 12

IV.2.

-Pointing mode ................................................................................................................... 15

IV.3.

Simulation for the bias between COG and COM .............................................................. 18

V.

- Conclusion and future work ............................................................................................ 21

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

I. - Introduction
I.1. - Context & Purpose
This document takes part of the trade study of AOCS to study the performances of different AOCS
configuration to be used in the BIRDY EME mission. There are some common assumptions in this report:
1. Ignore any environment disturbance effect in the simulation result.
2. Only the configuration of four reaction thrusters will be analyzed.
3. Neglect the time delay for different thruster triggered.
4. All of equations and results just represent the attitude of BIRDY, without the position of orbit.

I.2. - List of abbreviations


PD Proportional - Derivative
ECI
Earth-Centered Inertial
COM Center Of Mass
COG Center Of Geometric
AOCS Attitude and Orbit Control System
L-PPT Liquid-Pulsed Plasma Thruster

I.3. - Internal reference documents


[1]

"Technical Note on AOCS, NAV-001", Damien BOISSEAU, 2014

I.4. - External reference documents


[1]
[2]
[3]
[4]
[5]

" Nonlinear attitude control of a double CubeSat ", Gaute Brthen, 2011
" Satellite Attitude Control by Quaternion-Based Backstepping ", Raymond Kristiansen* and
Per J. Nicklasson**, 2005
" Satellite Dynamics and Control in a Quaternion Formulation ", Mogens Blanke, 2004
" Attitude Control of a micro satellite, Three-axis attitude control of the ESEO using reaction
thrusters", Frank Robert Blindheim, 2004
" Backstepping-Based Inverse Optimal Attitude Control of Quadrotor", An Honglei1, Li Jie1,
Wang Jian1,*, Wang Jianwen1 and Ma Hongxu1, 2013

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

II. - Definitions and notation


II.1.- BIRDY definitions
The following picture shows the reference frame (called BIRDY reference frame):

II.2.- Reference frames


Earth-centered inertial (ECI) frame:
The center of ECI is coincided with the center of Earth. It is defined by the unit vectors xi, yi and zi. The
zi-axis is pointed along the Earths rotational axis towards geographic north, the xi-axis points to an
imaginary fixed star at vernal equinox and the yi-axis completes the orthogonal system according to the
right-hand rule. This frame will be referred to throughout this technical note with a superscript i.
Body frame:
It is the same as BIRDY reference frame. The right-handed orthogonal three axis system with the origin at
the satellites center of mass, and is defined by the unit vectors xb, yb and zb. Rotation about these three
axes is referred to as roll, pitch and yaw, respectively. It is fixed to the satellite body, and thus moves and
rotates with it. This frame will be referred to throughout this report with a superscript b.

II.3.- Attitude representation


Rotation matrix:
There are two vectors given in frame

and b as below:
[

Further, the transformation of a coordinate vector from frame b to frame


3

is given by

BIRDY

Ref. : NAV-007
Version : 2.0
CL=1

Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Where

Date: 16-January-2015

is the transformation matrix which transform a vector in the b frame to a vector in the

frame.

The main property of the rotation matrix is that it is an element in SO(3), which is defined as:
( )
Also, the R is the orthogonal matrix, so there is a special property like
(

Then, the time derivative of the rotation matrix

Where

can be expressed as
(

is the angular velocity of frame b relative to frame

represented in frame

, and S () is

the cross product operator given by


( )

Euler angles:
To represent the satellites attitude, the straight forward way is to use the Euler angles, which is consisted
of roll angle , pitch angle

and yaw angle . Where roll is rotation about the x- axis, pitch is

rotation about the y - axis and yaw is rotation about the z - axis.
Quaternions:
When using the Euler angle to represent the attitude of the CubeSat, one get singularities for some angles.
For this reason, in this technical note, the attitude of BIRDY is replaced with the other way called
quaternions. The quaternions is a four-parameter singularity free attitude representation, where the
quaternion q is defined as a complex number with one real part and three imaginary parts given in the
vector :
[ ]
which corresponds to a rotation

about an unit vector

. A quaternion also satisfies the constraint

In order to save the space, the vector of quaternion is written as


[

The inverse rotation is given by the complex conjugate of q as


[
]

[ ]

BIRDY

Ref. : NAV-007
Version : 2.0
CL=1

Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Date: 16-January-2015

In addition, the quaternion differential equations is found to be

( )]

Notations:
Here, the notations used in this report will be specified and clarified. To transform/rotate a vector in frame
b to frame a:
To represent an objects angular velocity with respect to a specific coordinate frame, the following notation
is used:
( )
which means the angular velocity of the body frame with respect to the inertial (ECI) frame, and
represented in the body frame.

III. - Mathematical modeling


III.1. - BIRDY kinematics
Insert the (2.3) into (2.1) and (2.2), the kinematic differential equations for the relation between inertial
(ECI) frame and body frame can be found as

Where the symbol

( )]

represents the 3x3 identity matrix.

III.2. - BIRDY dynamics


The Eulers moment equations is

( )
and the standard form of Cubesat, with satellite inertia matrix

Where
and

, angular velocity

is the total momentum of momentum wheels(MW), all seen in the body frame,

actuator torque without the torque caused by MW,


momentum from MW(see eq-3.5), and

is the total

is the minus rate of change of the angular

is the total disturbance torque. With this notation, the dynamic

equation can be written as

Where

(
5

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

III.3. - SIMULINK Layout


The whole simulation model and related MATLAB Function codes are included in attached files. There
are some useful tools and functions provided in SIMLUNK, like 3x3 cross product, translation between
Euler angles and Quaternions and Quaternions Normalize. All of these functions can be transformed
into C codes easily(ex. by using <Eigen> C++ library or MATLAB coder).
The simulation model shows as below represents the nonlinear dynamics and kinematics of BIRDY.

Input terminal:
The Control input is the combination of total actuator torque( ) and

, the Disturbance is the total

disturbance torque( ) and the h is the total momentum of momentum wheels.


Output terminal:
The Angular velocity is the same as the
, the Quaternion represents the attitude of BIRDY and the
Animation means that the quaternion results will be shown in 3D animation.

III.4. -Actuator dynamics


In this report, only the configuration of four reaction thruster will be analyzed, the MW configuration will
not be included in this technical note. For this reason, the total momentum of reaction wheels (h) and
are zero. Therefore, the dynamics equation of BIRDY (3.4) can be rewritten as
( )

( )
Where the
means the control torque from four reaction thruster.
Before doing the further analysis of , the configuration of four thrusters should be depicted firstly.
6

BIRDY

Ref. : NAV-007
Version : 2.0
CL=1

Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Date: 16-January-2015

Layout of four reaction thrusters:


In previous technical note (NAV-001), the L-PPT was selected as our first choice of reaction thrusters.
The related specification and configuration information are shown as below

According to this previous drawings, here is the positions of thrusters (from the geometric center):
Table 3-1. The ith vector ( ) from COM to the position of the ith thruster
Positions of
thrusters (mm)

Thruster 1 (

Thruster 2 (

Thruster 3 (

Thruster 4 (

30,5

-30,5

-30,5

30,5

-41,9

-41,9

41,9

41,9

-152,75

-152,75

-152,75

-152,75

BIRDY

Ref. : NAV-007
Version : 2.0
CL=1

Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Date: 16-January-2015

Thrusters dynamics:
The control torque from four thrusters can be expressed as
(

where u is the vector of actuator torques given as


[

A variable Fi is the magnitude of thrust from the ith thruster. The actuator matrix Ba contains elements
from thrusters torques. According to the layout of thrusters, the Ba matrix can be expressed as
[
]
( )
( )
where variable ri is vector from COM to the position of the ith thruster. Ti is the unit vector, which
represent the direction of the ith thruster. Here the position of thrust axis (values provided by L-PPT
consortium which are given in meter for a unit vector of thrust):
Table 3-2. The ith vector ( ) for the direction of ith thruster
Thrust axis

Thruster 1 (

Thruster 2 (

Thruster 3 (

Thruster 4 (

-0,259

-0,259

0,259

0,259

0,966

0,966

0,966

0,966

Insert values, which were given from Table 3-1 and 3-2, into the eq(3.9), then bring the result into eq(3.8).
The Ba matrix can be counted out like
[

In order to calculate the vector of actuator torques u, the inverse of the Ba matrix is needed. However, the
matrix of Ba is rectangular(
), the invers of Ba matrix does not exist. To solve this problem, the
Least-norm solution (also called Pseudo-inverse) will be applied. Hence, the equation (3.7) can be
computed as
(
)
(
)
There is an additional advantage when using the Least-norm method, it will find out the minimum
energy solution by itself.
Limitation of Thruster
Reaction thrusters are by nature on-off devices and are normally only capable of providing fixed torque. In
this document, bang-bang control with deadzone is used to control the thrusters. It is based on a saturation
function, so that the thrusters are fired when the commanded torque exceeds a defined upper limit.
Increasing the deadzone and the corresponding upper limit will decrease the fuel consumption, but increase
the attitude error, and vice versa.
8

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

III.5. Control law


PD controller:
This strategy is a basic and direct linear control law. It uses feedback from the three quaternion error
elements in (or Euler angles error ) and the angular velocity error

Where the subscript-d means the component of desired vector, and the subscript-n means the component of
current state vector. The
and
basically are identity matrix. If needed, the PD tuned gain could be
no the same in
and
matrix.
SIMULINK layout of PD controller:
The figure shown as below includes PD controller block, Least-norm block, which is in charge of
calculating the force generated by thruster, and BIRDY model block, which integrate the dynamics and
kinematics model of BIRDY.

BIRDY

Ref. : NAV-007
Version : 2.0
CL=1

Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Date: 16-January-2015

Backstepping controller:
The PD controller suits the linear system, however, our simulation model (or even the real model) is a
nonlinear system. So, in this document, based on Lyapunov stability theory, the Backstepping method was
selected to apply in BIRDY. Then, comparing performance between PD controller(linear) and
Backstepping controller(nonlinear).
An integrator backstepping control law is designed in this section for moving the states from an arbitrary
[

initial quaternion q0 to a constant reference quaternion

] .

The whole process of derivation of backstepping is too long to type in this document. Only the result of
derivation will be shown as follow. The detail process of derivation can be found easily in external
reference [2]
Final result of derivation:
The actuator torque
where

can be expresses as

( )

(
)
(
)
is zero in our simulation since the BIRDY position of orbit is not included in this report, K2 is

the feedback gain matrix for the z2-system, z2 can be acquired from the following equation
(
)

(
)
In equation (3.13),

can be computed from


[

where and are given from the quaternion product defined as

[ ]

( )

Substituted (3.15) into (3.14), the (3.14) can be rewritten as


|

|
]
( )

The other unknown symbol in equation (3.13) is a special operator


()
()

( )
]
( )

, which can be shown that

The signum function sgn (x) is defined nonzero as


( )

to avoid a singularity when = 0. With some calculations, it can be shown that


()
( )
(
)
10

BIRDY

Ref. : NAV-007
Version : 2.0
CL=1

Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Date: 16-January-2015

Now, the last unknown symbol in equation (


) is , which is a stabilizing function. The time
differentiation of the states can be performed as
() ]

[ ()
(
)
where can be found from following z1-system
()(

Then,

() can be expressed as
()

where

( )
[

]
( )]

and

( ) [
[

( )]]

( )] ( )

Substituting equations from (3.13) to (3.23) into (3.12), the vector of actuator torque

can be calculated.

SIMULINK layout of Backstepping controller:


There are two special blocks, which are z1 and z2_dot, represent equation (3.16) and (3.13) respectively.
After calculating z1 and z2, put all parameters and variables into Backstepping block. The output of
control torque

has to be passes through Least norm block, then sent to the BIRDY model.

11

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

IV. - Mathematical modeling


In this section, the simulation results are divided in two main parts, one is detumbling mode, which
simulated the satellite detumbling motion. This special phase is the process of stabilizing the angular rate
of the satellite after orbital insertion. The other one is pointing mode, represents the motion of Cubesat
from a specified direction to another specified direction.
The following simulation controllers are implemented using the Matlab and SIMULINK differential
equation solver ode45 (continuous model). There three major figures, which are Euler angles, Angular
velocity and Propellant consumption, for each mode of different controller.

IV.1. - Detumbling mode


In the detumbling phase, the initial condition of Cubesat should be assumed firstly. According to the
related mission, the initial angular velocity might achieve around 10 degrees per second (10
), and the
initial Euler angle could be random values. The following results based on the same initial condition as
[
] (
( )
)
[

] (

( )
where
is the initial angular velocity vector and
is the initial Euler angles vector.
In addition, the target (desired condition) can be expressed as
[
] (
( )
)
[
] ( )
( )
PD controller:
The PD controller from equation (3.11) is implemented with initial values from (4.1) and (4.2).
The controller gains used in the detumbling mode are given as following:
See figures 4-1, 4-2 and 4-3 for the Euler angle, angular velocity and propellant consumption, respectively.

Figure 4-1, angular velocity (rad/sec) vs. time (sec).


12

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

Figure 4-2, Euler angles (rad) vs. time (sec).

Figure 4-3, impulse of each thruster (grams) vs. time (sec).


The total propellant consumption during detumbling mode of PD controller is about 2.67 grams, and
the duration of whole process is around

sec (~ 3.6 hours).

Backstepping controller:
The backstepping controller from equation (3.12) is implemented with initial values from (4.1) and (4.2).
The controller gains used in the detumbling mode are given as following:
[

In fact, there is not a theoretical way to find out the proper gain matrix (K1 and K2). In practice, the same
trial and error method as PD controller used is a common way to get suitable gain matrix. However, it is
very easy to choice matrixes make the whole system unstable, especially in detumbling mode.
See figures 4-4, 4-5 and 4-6 for the Euler angle, angular velocity and power outputs, respectively.
13

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

Figure 4-4, angular velocity (rad/sec) vs. time (sec).

Figure 4-5, Euler angles (rad) vs. time (sec).

Figure 4-6, impulse of each thruster (grams) vs. time (sec).


The total propellant consumption during detumbling mode of Backsteeping controller is about 7.064
grams, and the duration of whole process is around

sec (~ 9.03 hours).


14

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

IV.2. -Pointing mode


In the pointing phase, the initial condition of Cubesat is just current state. On the other hand, the desired
condition bases on your command. In the following simulation, the initial condition was selected as
[
] (
( )
)
[
] ( )
( )
where
is the initial angular velocity vector and
is the initial Euler angles vector. In addition, the
target (desired condition) was assumed as
[
] (
( )
)
[
] ( )
( )
PD controller:
The PD controller from equation (3.11) is implemented with initial values from (4.5) and (4.6).
The controller gains used in the this mode are given as following:
The Kp gain is bit different with the value in detumbling mode, since the requirement for attitude of
BIRDY is more important in pointing mode. The simulated results can be found from following figures 4-7,
4-8 and 4-9 for the Euler angle, angular velocity and propellant consumption, respectively.

Figure 4-7, angular velocity (rad/sec) vs. time (sec).

15

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

Figure 4-8, Euler angles (rad) vs. time (sec).

Figure 4-9, impulse of each thruster (grams) vs. time (sec).


The total propellant consumption during pointing mode of PD controller is about 0.06377 grams, and
the duration of whole process is around

sec (~ 6.16 minutes).

Backstepping controller:
The backstepping controller from equation (3.12) is implemented with initial values from (4.5) and (4.6).
The controller gains used in the pointing mode are given as following:
[

See figures 4-10, 4-11 and 4-12 for the Euler angle, angular velocity and power outputs, respectively.
16

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

Figure 4-10, angular velocity (rad/sec) vs. time (sec).

Figure 4-11, Euler angles (rad) vs. time (sec).

Figure 4-12, impulse of each thruster (grams) vs. time (sec).


The total propellant consumption during pointing mode of Backstepping controller is about 0.04065
grams, and the duration of whole process is around

sec (~ 7.16 minutes).


17

BIRDY

Ref. : NAV-007
Version : 2.0
CL=1

Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Date: 16-January-2015

IV.3. Simulation for the bias between COG and COM


In the previous IV.1.-Detumbling mode and IV.2.-Pointing mode chapter, all of simulation results are
running under specific assumption, which is the COG coincide with the COG. However, it is impossible
for any CubeSat satisfied this requirement. Therefore, the following simulation assume there is a bias as
[1;1;1] (cm) between COG and COM. In addition, in view of the performance of PD controller is better in
detumbling mode, the result of Backstepping will be neglected. In contrast, in the pointing mode, only the
Backstepping simulation result will be demonstrated.

PD controller for detumbling mode with bias [1;1;1]:


Initial condition:
Angular velocity = [50; 50; 50] degree/sec
Euler angles = [11.4;

-57.3;

0]

degrees

Result:
Duration = 40,000 s ~ 11.1 hrs.
Propellant ~ 7.62 grams.
Relative figures:

Figure 4-13, Angular velocity (rad/s) vs. time

18

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

Figure 4-14, Euler angles (rad) vs. time

Figure 4-15, Impulse sequence of each thruster (Newton) vs. time

Backstepping controller for pointing mode with bias [1;1;1]:


Initial condition:
Angular velocity = [0; 0; 0] in rad/s
Euler angles = [0; pi/2; 0] in rad

Target:
Angular velocity = [0;0;0] in rad/s
Euler angles = [0;0;0] in rad

Accuracy:
Requirement of accuracy for Angular velocity and Euler angles are 0.0001 (deg /s) and 0.01 (degrees)
respectively.
Result:
Duration = 650 sec (~ 10.8 mins).
Propellant ~ 0.05404 grams.
19

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

Feedback gain matrixes are as follows:


K1 =

-2,
0,
0,

0,
-0.052,
0,

0;
0;
-0.3]

K2 = [ 0.15,
0,
0,

0,
0.2,
0,

0;
0;
0.15];

Relative figures:

Figure 4-16, Angular velocity (in body frame, rad/s) vs. time

Figure 4-17, Euler angles (rad) vs. time

Figure 4-18, Impulse sequence of each thruster (Newton) vs. time


20

BIRDY
Technical solution for AOCS

Author(s): Lin Hao-Chih (Jim)

Ref. : NAV-007
Version : 2.0
CL=1

Date: 16-January-2015

V. - Conclusion and future work


In this technical note, the nonlinear dynamic model of BIRDY has been created and confirmed. Then, we
have presented two different control law, which are PD linear controller and Backstepping controller,
applied to our BIRDY model. The simulation results expressed in chapter IV shows that the PD controller
is a not only better and more robust way in the detumbling motion of BIRDY, but gives more efficient
performance based on our four thrusters system. On the other hand, in the pointing mode the outcome of
backstepping controller is more efficient on the propellant consumption than the other control law.
However, the system model adapted in this document has many assumptions and constraints, for example,
environment distribution are not included, the center of mass has to coincide with the center of geometry,
the effects of the fuel decreasing is ignored in both mode and only the configuration of four reaction
thrusters is analyzed. In addition, the time delay between different thruster generating the force is also
neglected.
In the future work, the main issues will be trying to add the basis from environment. Furthermore, the
detail specifications of L-PPT should be included in the thrusters system. If needed, the momentum wheel
(MW) component can be embedded in our AOCS subsystem, and make more complex model to simulate
the performance of combining the MW and L-PPT. Moreover, the whole MATLAB codes will be
transferred into C/C++ codes (ex, by using < Eigen> C++ library).

21

Anda mungkin juga menyukai