X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame.
-
Upload
emory-baldwin-richardson -
Category
Documents
-
view
226 -
download
1
Transcript of X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame.
( )
( )
0 Current turn on (+)
0 Current turn on (-)
x x y y z z
z
E I q I I I
S E k B
S
S
xy
z
Body frame
Goal vector
yx
y
Body frame
Goal vector
x
z
Body frame
Goal vector
x
Body frame
Sun normal: Spin mode (assume omega x= omega y=0)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
omega x, omega y =\=0
If we want to eliminate them, we need to estimate them.
Rad/sec 4 rpm
0 1 2 3 4 5 6
x 104
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Sun elevation near 90 degree (random)
0 5000 10000 15000-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0 5000 10000 15000-0.4
-0.35
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
Elevation=0 (not ecliptic normal)
Sun normal: precession mode (assume omega x= omega y=0)
Not good for initial conditions with high elevation
The sun ECI vector The sun ECI vector
Ecliptic plane
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
High elevation
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
The sun ECI vector
One strategy: only using one side controller
(elevation >0 or elevation <0)
0 0.5 1 1.5 2 2.5 3 3.5
x 104
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5
x 104
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
elevation elevation
Open controller
Open controller
0 0.5 1 1.5 2 2.5 3 3.5
x 104
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
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
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 oC~ 85 oC
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 fieldsun
B field
sun
In the view of the body In the view of the body
t1 t23.75 A hour at 8 volt
( )
( )
0 Current turn on (+)
0 Current turn on (-)
x x y y z z
z
E I q I I I
S E k B
S
S
xy
z
Body frame
Goal vector
yx
y
Body frame
Goal vector
x
z
Body frame
Goal vector
x
Body frame
based on the same fixed vector in ECI
x
z
Body frame
Goal vector
x
Body frame
x
z
YECI frame
Goal vector is fixed
( )
( )
0 Current turn on (+)
0 Current turn on (-)
x x y y z z
z
E I q I I I
S E k B
S
S
If there exists omega x or omega y, the goal vector is no longer fixed in the ECI frame
0 1000 2000 3000 4000 5000 6000 7000-5
0
5
10
15
20
25
30
time(sec)
elev
atio
n (d
egre
e)
Time frame =0.01
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-5
0
5
10
15
20
25
30
time(sec)
elev
atio
n (d
egre
e)
Time frame =0.1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
-100
-80
-60
-40
-20
0
20
40
60
80
time(sec)
elev
atio
n (d
egre
e)
Time frame =0.1
Solver problem
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
-100
-80
-60
-40
-20
0
20
40
60
80
time(sec)
elev
atio
n (d
egre
e)
Time frame =0.01
Different model structure may produce the errors !
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
-10
0
10
20
30
40
50
60
70
80
90
time(sec)
elev
atio
n (d
egre
e)
Give the Sun ECI initial conditionGive the initial attitude
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
10
time(sec)
elev
atio
n (d
egre
e)
Elevation of the sun in the body frame
Due to omega x ,omega y
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
-10
0
10
20
30
40
50
60
time(sec)
elev
atio
n (d
egre
e)
Give the Sun ECI initial condition
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
-100
-80
-60
-40
-20
0
20
40
60
80
time(sec)
elev
atio
n (d
egre
e)
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
ground
Revolute around local x,y,z
And allow slide in x,y,z direction
ECI
Equator plane
0 0.5 1 1.5 2 2.5
x 105
0
10
20
30
40
50
60
70
80
90
time(sec)
elev
atio
n (d
egre
e)
0 0.5 1 1.5 2 2.5
x 105
65
70
75
80
85
90
95
100
105
time(sec)
devi
atio
n of
the
att
itude
(deg
ree)
method of two coils and least square
0 0.5 1 1.5 2 2.5
x 105
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
10
time(sec)
elev
atio
n (d
egre
e)
0 0.5 1 1.5 2 2.5
x 105
80
85
90
95
100
105
110
115
120
time(sec)
devi
atio
n of
the
att
itude
(deg
ree)
method of two coils and least square
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
-80
-60
-40
-20
0
20
40
60
80
100
time(sec)
elev
atio
n (d
egre
e)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
detumble Sun normal :spin upSun normal: precession
Omega x,y,z 4 rpm
Elevation=0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 106
-25
-20
-15
-10
-5
0
5
X: 1.903e+006Y: -1.44
time(sec)
elev
atio
n (d
egre
e)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 106
0
5
10
15
20
25
time(sec)
devi
atio
n of
the
att
itude
(deg
ree)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 106
0
10
20
30
40
50
60
time(sec)
devi
atio
n of
the
att
itude
(deg
ree)
method of two coils and least square
Precession
Sun normal precession
elevation
Deviation of the attitude (ecliptic normal)
Sun normal precession
Average: 27 mins
1 2 3 4 5 6 7 80
10
20
30
40
50
60
70
80
sun normal
sun normal
Z
x
y
bx
by
bz
Rotation matrix: Y(90 degree)Z(180 degree)
Assume: local b field not change much
simulation
Local b field ECEF local b field body frame local magnetometer frame
ACS module
rotation matrix and normalized module
In PIC
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
=10o
Z+
X+
Y+
elevation
Z-
Y-
X-
“for the (-X) side, the magnetic dipole moment is estimated to be 0.87 Am2consuming 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
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
Sun+albedo
Coil z Coil x
Results: J for every 0.1 second
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
5
10
15
20
25
time(sec)
devi
atio
n of
the
att
itude
(deg
ree)
method of two coils and least square
Error attitude
Max PIC energy consumption
W=250 mA*4.0V=1W
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
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
?
Indirect access values:
With pointers assigning specific address
Receive from Rs232, don’t care which memory the compiler assigned
…
Transmit through Rs232
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
PICsimulink
0 10 20 30 40 50 60 70 80 90 100-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
0 10 20 30 40 50 60 70 80 90 100-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
Another issue: 1:0.7 =real time: simulink
Indirect access values:
With pointers assigning specific address
Receive from Rs232, don’t care which memory the compiler assigned
…
Transmit through Rs232
Protocol design and tasks
…..Serial data
Begin byte Data set
data1data0
0 01 12 3 2 3
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)
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 Serial decode
ACS in PIC (c code)ACS in simulink(c code)
Serial encode
Serial decode
Serial encode
Serial decode
Coil status Coil status
Simulink serial interface
Guarantee all the initial conditions are the same
torque
Guarantee , the time of switching mode are the same
0 10 20 30 40 50 60 70 80 90 100-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
0 10 20 30 40 50 60 70 80 90 100-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
simulink PIC
Experiment results for the controller (new version)
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
=10o
Z+
X+
Y+
elevation
Z-
Y-
X-
0 5000 10000 150000
0.5
1
1.5
2
2.5
3
3.5
4x 10
4
0 5000 10000 150000
1
2
3
4
5
6
7
time(sec)
pow
er
storing and consuming power
The day is longer than the night
Accumulating energy
0 200 400 600 800 1000 1200 1400 1600 1800 200080
90
100
110
120
130
140
150
160
170
180
time(sec)
degr
eedeviation of the attitude with ecliptic normal
Z+X+
Y+
elevation
Ecliptic normal
• Magnetometer sample time: 2 Hz
extrapolation
0 10 20 30 40 50 60 70 80 90 100-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 10 20 30 40 50 60 70 80 90 100-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 10 20 30 40 50 60 70 80 90 1000
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
Norm of the error in 3 direction
0 0.5 1 1.5 2 2.5 3
x 104
0
5
10
15
20
25
time(sec)
degr
eedeviation of the attitude with ecliptic normal
2 Hz
• Magnetometer sample time: 5 Hz
extrapolation
Norm of the error in 3 direction
0 10 20 30 40 50 60 70 80 90 1000
0.02
0.04
0.06
0.08
0.1
0.12
0 10 20 30 40 50 60 70 80 90 100-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 10 20 30 40 50 60 70 80 90 100-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
5
10
15
20
25
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
10Hz
0 0.5 1 1.5 2 2.5 3
x 104
0
5
10
15
20
25
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
5 Hz
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
Detumble
0 1 2 3 4 5 6
x 104
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5Detumble+ spin up
2Hz sample time
Raw edge
Model Predictive Control
MPC slides from Prof. Francesco Borrelli
0 5000 10000 150000
5
10
15
20
25
time(sec)
devi
atio
n of
the
att
itude
(deg
ree)
method of two coils and least square
Do control only for s>0(spin)
s>0 s<0 (spin)
Least square
Using one coil
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
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.
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
1 1 1 1
2 2 2 2
3 3 3 3
1 1 1 1
21 2 3
3
1 2 3
f f f g
x x x uxf f f g
x f g x ux x x u
xf f f g
x x x u
3 2 3 2 2 3
1 1 11 1
3 3 1 1 3 12 2
2 2 2 23 3
2 1 2 1 1 2
33 3
1 2
00
0
00
At specific ,
x z
J J J J ByJ J J
J J J J Bx BzM M
J J J J
ByJ J J JJJ J
3,
3 2 3 2 2 3
1 1 11 1
3 3 1 1 3 12 2
2 2 2 23 3
2 1 2 1 1 2
33 3
1 2 3
00
0
00
At specific , , and
x
J J J J ByJ J J
J J J J Bx BzM M
J J J J
ByJ J J JJJ J
i i
Can update B field for each k
0
exp( )
exp( )Ts
Ad A Ts
Bd A t dtB
Cd C
Dd D
Discrete Model
1 2 3
1
2 2 20
[ ]
( ) ( ) ( )
1 1
1 1
i N
i
i
i
x
J Px N Qx i Ru i
x
u
(3)
(3)
1
P eye
Q eye
R
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
Results: polytope for the feasible region
The geometry will update for each k
Detumble mode
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
Controller 5 Hz: with two coils
controller
0 0.5 1 1.5 2 2.5
x 104
0
5
10
15
20
25
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 0.5 1 1.5 2 2.5
x 104
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
Spin rateattitude
Controller :5 Hz with one coils
controller
0 2000 4000 6000 8000 10000 12000 140000
5
10
15
20
25
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 2000 4000 6000 8000 10000 12000 14000-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
Average: precession over 100 mins
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
0
5
10
15
20
25
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
Controller :2 Hz with one coils
controller
Sun position 2 HZ Sun position 5 HZ
MAG data 2 HZ MAG data 5 HZ
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 sun3. Know the dynamics of the satellite, torque command4. compute the position of the sun in the future5. Do Precession, until in the FOV of the sun sensorDisadvantage: hard to keep the initial attitude fixed
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 sun3. Know the dynamics of the satellite, torque command4. compute the position of the sun in the future5. Precession, until in the FOV of the sun sensoradvantage: no need to keep the initial attitude fixed
Before switch to the estimator
Rotation matrix
0 200 400 600 800 1000 1200 1400 1600 1800 20000
1
2
3
4
5
6
7
Error of Normal 1 of the rotation matrix will disconvenge
Random rotation abound the orbit
3400 3500 3600 3700 3800 3900 4000 4100 4200 4300 4400-0.15
-0.1
-0.05
0
0.05
0.1
time(sec)ra
d/se
c
omega vector
2100 2150 2200 2250 2300 2350
20
30
40
50
60
70
80
90
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
100
200
300
400
500
600
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
solar panel
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
100
200
300
400
500
600
700
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
solar panel
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
100
200
300
400
500
600
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
solar panel
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
100
200
300
400
500
600
700
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
solar panel
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
100
200
300
400
500
600
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
solar panel
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
20
40
60
80
100
120
140
160
180
200
time(sec)
wat
t/m
2power in the solar panel and the sun sensor
solar panel
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
200
400
600
800
1000
1200
1400
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
200
400
600
800
1000
1200
1400
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
200
400
600
800
1000
1200
1400
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
200
400
600
800
1000
1200
14000 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
0
200
400
600
800
1000
1200
1400
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.5
1
1.5
2
2.5x 10
-6
42degree, 5 degree
42o
5o
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
10
20
30
40
50
60
70
80
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
200
400
600
800
1000
1200
1400
Sun: unit vector1366.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-
-1
-1
-1
Solar Panel module in the simulink
Albedo power vector
Controller
+ + normalize
0 5000 10000 150000
5
10
15
20
25
30
35
40
45
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 5000 10000 150000
100
200
300
400
500
600
700
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
0 5000 10000 150000
50
100
150
200
250
300
350
400
450
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
0 5000 10000 150000
50
100
150
200
250
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
X,Y
Z+
Z-
precession
Extreme case
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
100
200
300
400
500
600
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
sun power
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
100
200
300
400
500
600
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
sun power
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
100
200
300
400
500
600
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
sun power
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
100
200
300
400
500
600
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
sun power
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
10
20
30
40
50
60
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
sun power
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
200
400
600
800
1000
1200
1400
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
sun power
0 2000 4000 6000 8000 10000 12000 14000 1600040
45
50
55
60
65
70
75
80
85
90
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 2000 4000 6000 8000 10000 12000 14000 160000
100
200
300
400
500
600
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
0 2000 4000 6000 8000 10000 12000 14000 160000
20
40
60
80
100
120
140
160
180
200
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
0 2000 4000 6000 8000 10000 12000 14000 160000
50
100
150
200
250
300
350
400
450
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
X,Y
Z+
Z-
precession
0 0.5 1 1.5 2 2.5 3
x 104
70
80
90
100
110
120
130
140
150
160
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 0.5 1 1.5 2 2.5 3
x 104
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
time(sec)
rad/
sec
omega vector
0 0.5 1 1.5 2 2.5 3
x 104
0
50
100
150
200
250
300
350
400
450
500
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
0 0.5 1 1.5 2 2.5 3
x 104
0
10
20
30
40
50
60
70
80
90
100
time(sec)
wat
t/m
2
power in the solar panel and the sun sensor
albedo power
Z+X,Y
4 rpm
0 0.5 1 1.5 2 2.5 3
x 104
0
100
200
300
400
500
600
700
time(sec)w
att/
m2
power in the solar panel and the sun sensor
albedo power
Z-
Sun: unit vector1366.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-
-1
-1
-1
Solar Panel module in the simulink
Albedo power vector
Controller
+ + normalize
Sun: unit vector1366.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-
-1
-1
-1
Controller
+ +
normalize
separate
Solar Panel module in the simulink
Convert to a vector
Fix the code for in the controller
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
5
10
15
20
25
30
35
40
45
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
5
10
15
20
25
30
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
100
200
300
400
500
600
700
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
10
20
30
40
50
60
70
80
90
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
100
200
300
400
500
600
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
5
10
15
20
25
30
Sun: unit vector1366.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-
-1
-1
-1
Controller
+ +
normalize
separate
Solar Panel module in the simulink
Convert to a vector
Arbitrary disturbance
disturbance
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
34
36
38
40
42
44
46
48
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
6
8
10
12
14
16
18
20
22
24
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
0
5
10
15
20
25
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
12
14
16
18
20
22
24
26
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
26
28
30
32
34
36
38
40
42
44
46
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
0
5
10
15
20
25
30
35
40
45
50
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
5
10
15
20
25
30
35
40
45
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
22
24
26
28
30
32
34
36
38
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
4
6
8
10
12
14
16
18
20
22
24
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
22
24
26
28
30
32
34
36
38
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
5
10
15
20
25
30
35
40
45
time(sec)
degr
ee
deviation of the attitude with ecliptic normal
0 0.5 1 1.5 2 2.5
x 104
0
5
10
15
20
25
30
35
40
45
time(sec)
degre
e
deviation of the attitude with ecliptic normal
Without albedo Without un-viewable angle
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
time(sec)
rad/
sec
omega vector
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
5
10
15
20
25
30
Only use Mag data in the spin up
0 10 20 30 40 50 60 70 80 90 100-2
-1.5
-1
-0.5
0
0.5
1
1.5
2x 10
-5
B field Body frame: omega=[0 0 0.42]
0 10 20 30 40 50 60 70 80 90 100-2
-1.5
-1
-0.5
0
0.5
1
1.5
2x 10
-5
B field Body frame: omega=[0 0 0.21]
0 10 20 30 40 50 60 70 80 90 100-2
-1.5
-1
-0.5
0
0.5
1
1.5
2x 10
-5 B field Body frame: omega=[0 0 0.-0.2]
Only use Magnetometer in the spin up
0 10 20 30 40 50 60 70 80 90 100-2
-1.5
-1
-0.5
0
0.5
1
1.5
2x 10
-5B field Body frame: omega=[0.1 0.1 0.1 ]
0 10 20 30 40 50 60 70 80 90 100-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5x 10
-5 B field Body frame: omega=[0.1 -0.1 0.1 ]
0 10 20 30 40 50 60 70 80 90 100-2
-1.5
-1
-0.5
0
0.5
1
1.5
2x 10
-5B field Body frame: omega=[-0.1 0.1 0.1 ]
0 10 20 30 40 50 60 70 80 90 100-2
-1.5
-1
-0.5
0
0.5
1
1.5x 10
-5
B field Body frame: omega=[0 0 0 ]
0 10 20 30 40 50 60 70 80 90 100-2
-1.5
-1
-0.5
0
0.5
1
1.5
2x 10
-5B field Body frame: omega=[0.1 0.1 0.01 ]
0 10 20 30 40 50 60 70 80 90 100-2
-1.5
-1
-0.5
0
0.5
1
1.5
2x 10
-5 B field Body frame: omega=[0.01 0.01 0.01 ]
Global weather satellite: rotating Earth
rotating Earth with animated clouds covering the most recent 3 week
showing current clouds
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.
Spin mode without any information from the ground.
inititally,w1,w2,w3=0
2 3 2 3
1 11
1 3 3 12
2 2 23
1 2 1 2
33
( )
0
( )
( ) 0
z x
J J By
J J
J J Bx BzM M
J J J
J J By
JJ
0 2000 4000 6000 8000 10000 12000 14000 16000 18000-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
time(sec)
rad/
sec
omega vector
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]
0 0.5 1 1.5 2 2.5
x 104
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
time(sec)
rad/
sec
omega vector
How to get omega (Wiki)
I modify the above as
0 3( ) 2( ) 1( )
3( ) 0 1( ) 2
2( ) 1( ) 0 3body
r t r tdr t
r t r tdt
r t r t
Skew matrixNot invertible Infinity solutions for omega
R(t)
R(t-1)
(R(t)-R(t-dt))
W=V/R=(R(t)-R(t-dt))/(dt*R(t))dt0
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’’
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
1( )
0 3( ) 2( ) 12( )
3( ) 0 1( ) 2
2( ) 1( ) 0 33( )
body
db t
dt b t b tdb t
b t b tdt
s t s tds t
dt
1( ) 1( 1)
1 1( ) 1( ) 2( ) 1( ) 1( ) 3( )1 2( ) 2( 1)
2 1( ) 2( ) 2( ) 2( ) 2( ) 3( )3( )*( 1( )* 2( ) 2* 1( ))
3 3( ) 1( ) 3( ) 2( ) 3( ) 3( )3( ) 3( 1)
b t b t
dtb t s t b t s t b t b tb t b t
b t s t b t s t b t b tb t b t s t b s t dt
b t s t b t s t b t b ts t s t
dt
body
Simulation results
0 50 100 150 200 250 300 350 400 450 500-4
-3
-2
-1
0
1
2
0 50 100 150 200 250 300 350 400 450 500-2
-1.5
-1
-0.5
0
0.5
1
1.5
0 50 100 150 200 250 300 350 400 450 500-8
-7
-6
-5
-4
-3
-2
-1
0
1
Omega x Omega y
Omega z
40 50 60 70 80 90 100
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
Initial Omega=[-0.1 -0.1 0.1]
Denominator vs omega x
50 100 150 200 250 300 350 400-4
-3
-2
-1
0
1
2
A approach to fix it
Consider the all the combination from B field and Sun position (body frame)3 3 3 32 1 1 2 18C C C C
Results for combination: b field, sun (1,2)(1) (1,2)(2) (1,2)(3)
0 5 10 15 20 25 30-2.5
-2
-1.5
-1
-0.5
0
0.5
0 5 10 15 20 25 30-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
0 5 10 15 20 25 30-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
Omega xOmega y
Omega z
Chose the biggest determinant
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-300
-250
-200
-150
-100
-50
0
50
100
Include with solar panel module (assume Mag is prefect)
0 5 10 15 20 25 30-2.5
-2
-1.5
-1
-0.5
0
0.5
1
0 5 10 15 20 25 30-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
0 5 10 15 20 25 30-4
-3
-2
-1
0
1
2
Omega xOmega y
Omega z
Do spin up with the estimate omega (without any information from the ground station)
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
time(sec)
rad/
sec
omega vector
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
-50
0
50
100
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
-50
0
50
100
150
200
250
300
350
400
450
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
-60
-50
-40
-30
-20
-10
0
10
20
30
Estimate omega x
Estimate omegay
Estimate omega z
With static albedo(ice)
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
time(sec)
rad/
sec
omega vector
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
100
200
300
400
500
600
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
5
10
15
20
25
30
Error angle between the real sun and the effected sun
Albedo power in the x +plame
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)
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
Detumble
0 1 2 3 4 5 6
x 104
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5Detumble+ spin up
2Hz sample time
Raw edge
TRIO-CINEMA 45 UCB, 2/08/2010
Proof of locally stable of detumble—by Y.T Mao
222zyxV
zy
zyx
z
zz
yzx
y
zyx
zzyyxx
MJ
B
J
JJ
MJ
B
J
JJ
J
JJ
V
33
21
22
13
1
32
22
22
2
222
zz
yz
z
zy
yz
z
J
tB
J
BM
J
B
J
BMV
3
0
2
32
sin2
2
tBB
tBB
zy
zx
sin
cos
0
0
tBB zzx sin0 0
0
0
0
z
z
x
x
M
M
B
B
0
3
0
2
22
J
BM
J
BMV x
z
average
yz
z
0,, ,0 zyxV
Instant ,Without loss of generality
Recall that
Locally stable!!
R(t)
R(t-1)
(R(t)-R(t-dt))
W=V/R=(R(t)-R(t-dt))/(dt*R(t))dt0
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’’
0 3( ) 2( ) 1( )
3( ) 0 1( ) 2
2( ) 1( ) 0 3body
r t r tdr t
r t r tdt
r t r t
1 2 ||r r