Presentation is loading. Please wait.

Presentation is loading. Please wait.

X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame.

Similar presentations


Presentation on theme: "X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame."— Presentation transcript:

1 x y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame

2 Sun normal: Spin mode (assume omega x= omega y=0) omega x, omega y =\=0 If we want to eliminate them, we need to estimate them. Rad/sec 4 rpm Sun elevation near 90 degree (random)

3 Elevation=0 (not ecliptic normal) Sun normal: precession mode (assume omega x= omega y=0) Not good for initial conditions with high elevation

4 The sun ECI vector Ecliptic plane

5 High elevation The sun ECI vector

6 One strategy: only using one side controller (elevation >0 or elevation <0) elevation Open controller

7 Omega change Because we only use one coil in z axis, the effects to the spin rate are small 4 rpm omega x, omega y

8 Conclusion: 1 The storage of battery for the ACS is ok (0.7 w for each “turn on” operation ) 2 test other initial conditions for sun normal mode Issue: 1 need to figure out what happen in the high elevation 2 PIC operation temperature -40 o C~ 85 o C 3 If there are two fixed vectors in the ECI frame, is it possible to know the angular velocities of the three dimension (without any information from the ground )? B field sun B field sun In the view of the body t1t2 3.75 A hour at 8 volt

9 x y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame

10 based on the same fixed vector in ECI x z Body frame Goal vector x Body frame x z Y ECI frame Goal vector is fixed If there exists omega x or omega y, the goal vector is no longer fixed in the ECI frame

11 Time frame =0.01Time frame =0.1 Solver problem Time frame =0.01

12 Different model structure may produce the errors ! Give the Sun ECI initial condition Give the initial attitude Elevation of the sun in the body frame Due to omega x,omega y Give the Sun ECI initial condition

13 ground Revolute around local x Revolute around local y Revolute around local z Equator plane Mass: 10e-9 kg Moment of inertia: 10e-7 kgm^2

14 ground Revolute around local x,y,z And allow slide in x,y,z direction ECI Equator plane

15

16 detumble Sun normal :spin up Sun normal: precession Omega x,y,z4 rpm Elevation=0

17 Precession Sun normal precession elevation Deviation of the attitude (ecliptic normal) Sun normal precession

18 Average: 27 mins

19 Z x y bx by bz Rotation matrix: Y(90 degree)  Z(180 degree) Assume: local b field not change much

20 simulation Local b field ECEF  local b field body frame  local magnetometer frame ACS module rotation matrix and normalized module In PIC

21 Power from each solar panel (total six panels) 1: with 10 degree constraints for each panel 2: the energy is proportional to the area 3: 15% efficiency for each panel 4: also including the power from the albedo 5 assume in each panel, the power is uniform 6 the area of the solar panel, right now: (10x10 cm) meter square 7 assume the storage: 3.75 A hour at 8 volt=108000 =10 o Z+ X+ Y+ elevation Z- Y- X-

22 “for the (-X) side, the magnetic dipole moment is estimated to be 0.87 Am 2 consuming 6.43 Watts and drawing 0.80 Amperes. The projected values for the (-Z) side [which has not been built yet] are 0.85 Am2 for the magnetic dipole, 8.63 Watts for power and 1.08 Amperes for current.” Assume 10 duty cycle Sun+albedo Coil zCoil x Results: J for every 0.1 second Error attitude

23 Max PIC energy consumption W=250 mA*4.0V=1W

24 1: W=(125-(-40))/40=4.125w maximum allowed power Dissipation or the chip will melt away. 2: W=(100-80)/40=0.5w <1w ?

25 Indirect access values: With pointers assigning specific address Receive from Rs232, don’t care which memory the compiler assigned … Transmit through Rs232

26 Data from RS232 Store in the specific memory HSK read values from the specific memory ACS reads values from the specific memory other work ACS store values to the specific memory HSK read values from the specific memory other work Data to RS232 (Torque command) In the future, replaced by other modules, like sun sensor module, MAG module, etc. Just write to the same memory write to the specific memory In the future, replaced by toque command module Int main (){ } Fixed, no change

27 PIC simulink Another issue: 1:0.7 =real time: simulink

28 Indirect access values: With pointers assigning specific address Receive from Rs232, don’t care which memory the compiler assigned … Transmit through Rs232

29

30 Protocol design and tasks ….. Serial data Begin byte Data set data1data0 00112323 Each variable (total 17) is float, each float includes 4 bytes (17x4=68) Begin byte ….. 1 separate each variable (float->byte) 2 transmit them in the serial port of Simulink 3 receive them in the serial buffer of PIC 4 combine them in the PIC (byte-float)

31 Structure for parallel testing (run PIC and simulink at the same time, at the same simulink file) Space Environment, Sensor, CINEMA Serial encode Simulink serial interface Serial decode ACS in PIC (c code) ACS in simulink(c code) Serial encode Serial decode Serial encode Serial decode Coil status Simulink serial interface Guarantee all the initial conditions are the same torque Guarantee, the time of switching mode are the same

32 simulinkPIC Experiment results for the controller (new version)

33 Power from each solar panel (total six panels) 1: with 10 degree constraints for each panel 2: the energy is proportional to the area 3: 15% efficiency for each panel 4: also including the power from the albedo 5 assume in each panel, the power is uniform 6 the area of the solar panel, right now: (10x10 cm) meter square (x+-:3, y+-:1, z+-:1) 7 assume the storage: 3.75 A hour at 8 volt=108000 =10 o Z+ X+ Y+ elevation Z- Y- X-

34 The day is longer than the night Accumulating energy

35 Z+ X+ Y+ elevation Ecliptic normal

36 Magnetometer sample time: 2 Hz extrapolation Norm of the error in 3 direction

37 2 Hz

38 Magnetometer sample time: 5 Hz extrapolation Norm of the error in 3 direction

39 10Hz 5 Hz

40 Detumble Detumble+ spin up 2Hz sample time Raw edge

41 Model Predictive Control MPC slides from Prof. Francesco Borrelli

42

43 Do control only for s>0(spin) s>0 s<0 (spin) Least square Using one coil

44 MPC—using the information of the future and current B field Least square—using the current B field with two coils and various duty cycle Solution sets One coil with fixed duty cycle Two coils with fixed duty cycle

45 Example--- Get the maximum profits from the Banks in 2 years Need the transfer fee from one bank to the other. The interest rates also depend the total saving in each account One coil: BOA, only allowed to put the all of the money in or out Two coils: Citi, BOA, only allowed to put all of the money in one account Least square: : Citi, BOA, allowed to adjust the money in each account. MPC: Citi, BOA allowed to adjust the money in each account and know the interest rates in the future. This method can also consider other situations.

46 Linearized the nonlinear systems  continuous model continuous model  discrete model Set the system structure and parameters for the solver Set the translate target set Solver produce the control command Update the current state and insert to the nonlinear system k=k+1 N=N+1

47 Can update B field for each k

48 Discrete Model

49 Final target set Nonlinear system Initial state Translate target set wz wx wy N=1 N=2 N=3 N=0 K=1 K=2

50 Results: polytope for the feasible region The geometry will update for each k

51 Detumble mode

52 Advantage: easy to implement for off-line computation, very flexible and guaranteed optimization in some local region. If the system has no complexity, the optimization no longer exists. Disadvantage: Not good implementation for PIC, it needs more power for the computation for each iteration. Next Step: set the environment of parameters of MPC near the real environment. Investigate the hybrid system. Build the spin up and precession modes in MPC Objection function: consider which variables we want to weight, power, settling time, final step, etc. Control Strategy: Design any controller or adjust parameters in the current controller in the PIC and try to make the results near the results from MPC

53 Controller 5 Hz: with two coils controller Spin rateattitude

54 Controller :5 Hz with one coils controller Average: precession over 100 mins

55 Controller :2 Hz with one coils controller

56 Sun position 2 HZSun position 5 HZ

57 MAG data 2 HZ MAG data 5 HZ

58 Way to eliminate the effects of the albedo Method 1 shadow 1.Measure the minimum power (only from the sun) 2.Get the position of the sun 3.Know the dynamics of the satellite, torque command 4.compute the position of the sun in the future 5.Do Precession, until in the FOV of the sun sensor Disadvantage: hard to keep the initial attitude fixed

59 Way to eliminate the effects of the albedo Method 2 shadow 1.Set the minimum power band (only from the sun) 2.Get the position of the sun 3.Know the dynamics of the satellite, torque command 4.compute the position of the sun in the future 5.Precession, until in the FOV of the sun sensor advantage: no need to keep the initial attitude fixed

60 Before switch to the estimator

61 Rotation matrix Error of Normal 1 of the rotation matrix will disconvenge

62 Random rotation abound the orbit

63

64

65 42degree, 5 degree 42 o 5o5o

66 Sun: unit vector 1366.9 Albedo power in x+ Albedo power in x- Albedo power in y+ Albedo power in y- Albedo power in z+ Albedo power in z- Solar Panel module in the simulink Albedo power vector Controller + normalize

67 X,Y Z+ Z- precession

68 Extreme case

69

70 X,Y Z+ Z- precession

71 Z+ X,Y 4 rpm Z-

72 Sun: unit vector 1366.9 Albedo power in x+ Albedo power in x- Albedo power in y+ Albedo power in y- Albedo power in z+ Albedo power in z- Solar Panel module in the simulink Albedo power vector Controller + normalize

73 Sun: unit vector 1366.9 Albedo power in x+ Albedo power in x- Albedo power in y+ Albedo power in y- Albedo power in z+ Albedo power in z- Controller + normalize separate Solar Panel module in the simulink Convert to a vector

74 Fix the code for in the controller

75

76 Sun: unit vector 1366.9 Albedo power in x+ Albedo power in x- Albedo power in y+ Albedo power in y- Albedo power in z+ Albedo power in z- Controller + normalize separate Solar Panel module in the simulink Convert to a vector Arbitrary disturbance disturbance

77

78

79

80 Without albedo Without un-viewable angle

81 Only use Mag data in the spin up B field Body frame: omega=[0 0 0.42] B field Body frame: omega=[0 0 0.21] B field Body frame: omega=[0 0 0.-0.2]

82 Only use Magnetometer in the spin up B field Body frame: omega=[0.1 0.1 0.1 ]B field Body frame: omega=[0.1 -0.1 0.1 ] B field Body frame: omega=[-0.1 0.1 0.1 ] B field Body frame: omega=[0 0 0 ]

83 B field Body frame: omega=[0.1 0.1 0.01 ] B field Body frame: omega=[0.01 0.01 0.01 ]

84

85 Global weather satellite: rotating Earth rotating Earth with animated clouds covering the most recent 3 week showing current clouds

86

87 Conclusion: 1 need to fix the dynamics equation for the sun estimator or compensate it with MAG data—(maybe not necessary) 2 Build the global weather dynamic cloud model in the simulink 3 investigate the determination for the sun position with the info of the geometry of the CINEMA at one instant.

88 Spin mode without any information from the ground. inititally,w1,w2,w3=0

89 Assume we can get correct omega z Initial omega x,y,z=[0.1 0.1 0.1]Initial omega x,y,z=[0 0 0]

90 How to get omega(Wiki) I modify the above as Skew matrix Not invertible  Infinity solutions for omega

91 R(t)R(t-1) (R(t)-R(t-dt)) W=V/R=(R(t)-R(t-dt))/(dt*R(t)) dt  0 The problem is R not perpendicular with w, we need to separate the vector to horizontal and vertical direction. However, we don’t know the direction of w R(t) w R’ R’’

92 The above skew matrix (n=3) is rank 2 combine the information with solar panels to make it becomes rank 3 Algorithm omega estimator ------------by Y.T Mao

93 Simulation results Omega xOmega y Omega z Initial Omega=[-0.1 -0.1 0.1]

94 Denominator vs omega x

95 A approach to fix it Consider the all the combination from B field and Sun position (body frame) Results for combination: b field, sun (1,2)(1) (1,2)(2) (1,2)(3) Omega x Omega y Omega z Chose the biggest determinant

96 Include with solar panel module (assume Mag is prefect) Omega x Omega y Omega z

97 Do spin up with the estimate omega (without any information from the ground station) Estimate omega x Estimate omegay Estimate omega z

98 With static albedo(ice) Error angle between the real sun and the effected sun Albedo power in the x +plame

99 Conclusion: 1 It is ok to use the solar panels and Mag to do spin up without ground station. 2 Try to only use historical data of Mag for the next task. 3 incorporate new omega estimation module in the ACS module of the PIC. 4 investigate the determination for the sun position with the info of the geometry of the CINEMA at one instant. 5 try to use only B field (ground), B field(body), sun position(body) to do the attitude determination(without sun position(ground) estimator, need the exactly launch time)

100 Detumble Detumble+ spin up 2Hz sample time Raw edge

101

102 R(t)R(t-1) (R(t)-R(t-dt)) W=V/R=(R(t)-R(t-dt))/(dt*R(t)) dt  0 The problem is R not perpendicular with w, we need to separate the vector to horizontal and vertical direction. However, we don’t know the direction of w R(t) w R’ R’’


Download ppt "X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame."

Similar presentations


Ads by Google