CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS...

download CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

of 10

Transcript of CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS...

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    1/22

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    2/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    1

    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 

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    3/22

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    4/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    3

    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 x i, yi and zi. The

    zi-axis is pointed along the Earth’s 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 satellite’s center of mass, and is defined by the unit vectors x b, y b and z b. 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   is given by  

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    5/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    4

    Where

      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   can be expressed as ̇   ( ) Where   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 satellite’s 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 thevector 

     :

         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

    ̅  

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    6/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    5

    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 object’s 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 kinematicsInsert 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 Euler ’s moment equations is  ̇  Where   and the standard form of Cubesat, with satellite inertia matrix , angular velocity  and   is the total momentum of momentum wheels(MW), all seen in the body frame,   is the totalactuator torque without the torque caused by MW,   is the minus rate of change of the angularmomentum from MW(see eq-3.5), and   is the total disturbance torque. With this notation, the dynamicequation can be written as

     ̇ ( ) ( )  Where  ̇  

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    7/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    6

    III.3. - SIMULINK LayoutThe 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 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 totaldisturbance 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.

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    8/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    7

    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 i’th vector   from COM to the position of the i’th thrusterPositions of  

    thrusters (mm) Thruster 1   Thruster 2   Thruster 3   Thruster 4  

    X  30,5 -30,5 -30,5 30,5

     Y  -41,9 -41,9 41,9 41,9Z  -152,75 -152,75 -152,75 -152,75

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    9/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    8

    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 i’th 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 i’th thruster. Ti is the unit vector, whichrepresent the direction of the i’th 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 i’th vector   for the direction of i’th thrusterThrust axis  Thruster 1 (  Thruster 2 (  Thruster 3 (  Thruster 4 ( 

    X  0 0 0 0

     Y  -0,259 -0,259 0,259 0,259

    Z  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/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    10/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    9

    III.5.–

    Control lawPD 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 beno 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.

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    11/22

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    12/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    11

     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”.

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    13/22

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    14/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    13

    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 (K 1 and K 2). 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.

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    15/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    14

    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).

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    16/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    15

    IV.2. -Pointing modeIn 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, thetarget (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 K  p 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).

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    17/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    16

    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.

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    18/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    17

    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).

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    19/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    18

    IV.3.–

    Simulation for the bias between COG and COMIn 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

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    20/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    19

    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.

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    21/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    20

    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

  • 8/19/2019 CubeSat Design Bleeping Interplanetary Radiations Determination Yo-yo (BIRDY) - AOCS Subsystem-report

    22/22

    BIRDYTechnical solution for AOCS Ref. : NAV-007

    Version : 2.0CL=1

     Author(s): Lin Hao-Chih (Jim) Date: 16-January-2015

    21

    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 betransferred into C/C++ codes (ex, by using < Eigen> C++ library).