x y z body frame goal vector y x y body frame goal vector x z body frame goal vector x body frame
TRANSCRIPT
![Page 1: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/1.jpg)
( )
( )
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
![Page 2: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/2.jpg)
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)
![Page 3: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/3.jpg)
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
![Page 4: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/4.jpg)
The sun ECI vector The sun ECI vector
Ecliptic plane
![Page 5: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/5.jpg)
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
![Page 6: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/6.jpg)
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
![Page 7: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/7.jpg)
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
![Page 8: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/8.jpg)
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
![Page 9: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/9.jpg)
( )
( )
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
![Page 10: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/10.jpg)
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
![Page 11: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/11.jpg)
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
![Page 12: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/12.jpg)
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)
![Page 13: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/13.jpg)
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
![Page 14: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/14.jpg)
ground
Revolute around local x,y,z
And allow slide in x,y,z direction
ECI
Equator plane
![Page 15: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/15.jpg)
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
![Page 16: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/16.jpg)
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
![Page 17: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/17.jpg)
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
![Page 18: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/18.jpg)
Average: 27 mins
1 2 3 4 5 6 7 80
10
20
30
40
50
60
70
80
sun normal
sun normal
![Page 19: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/19.jpg)
Z
x
y
bx
by
bz
Rotation matrix: Y(90 degree)Z(180 degree)
Assume: local b field not change much
![Page 20: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/20.jpg)
simulation
Local b field ECEF local b field body frame local magnetometer frame
ACS module
rotation matrix and normalized module
In PIC
![Page 21: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/21.jpg)
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-
![Page 22: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/22.jpg)
“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
![Page 23: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/23.jpg)
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
![Page 24: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/24.jpg)
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
?
![Page 25: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/25.jpg)
Indirect access values:
With pointers assigning specific address
Receive from Rs232, don’t care which memory the compiler assigned
…
Transmit through Rs232
![Page 26: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/26.jpg)
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
![Page 27: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/27.jpg)
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
![Page 28: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/28.jpg)
Indirect access values:
With pointers assigning specific address
Receive from Rs232, don’t care which memory the compiler assigned
…
Transmit through Rs232
![Page 29: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/29.jpg)
![Page 30: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/30.jpg)
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)
![Page 31: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/31.jpg)
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
![Page 32: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/32.jpg)
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)
![Page 33: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/33.jpg)
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-
![Page 34: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/34.jpg)
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
![Page 35: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/35.jpg)
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
![Page 36: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/36.jpg)
• 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
![Page 37: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/37.jpg)
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
![Page 38: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/38.jpg)
• 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
![Page 39: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/39.jpg)
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
![Page 40: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/40.jpg)
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
![Page 41: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/41.jpg)
Model Predictive Control
MPC slides from Prof. Francesco Borrelli
![Page 42: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/42.jpg)
![Page 43: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/43.jpg)
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
![Page 44: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/44.jpg)
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
![Page 45: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/45.jpg)
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.
![Page 46: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/46.jpg)
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
![Page 47: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/47.jpg)
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
![Page 48: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/48.jpg)
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
![Page 49: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/49.jpg)
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
![Page 50: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/50.jpg)
Results: polytope for the feasible region
The geometry will update for each k
![Page 51: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/51.jpg)
Detumble mode
![Page 52: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/52.jpg)
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
![Page 53: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/53.jpg)
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
![Page 54: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/54.jpg)
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
![Page 55: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/55.jpg)
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
![Page 56: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/56.jpg)
Sun position 2 HZ Sun position 5 HZ
![Page 57: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/57.jpg)
MAG data 2 HZ MAG data 5 HZ
![Page 58: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/58.jpg)
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
![Page 59: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/59.jpg)
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
![Page 60: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/60.jpg)
Before switch to the estimator
![Page 61: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/61.jpg)
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
![Page 62: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/62.jpg)
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
![Page 63: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/63.jpg)
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
![Page 64: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/64.jpg)
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
![Page 65: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/65.jpg)
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
![Page 66: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/66.jpg)
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
![Page 67: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/67.jpg)
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
![Page 68: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/68.jpg)
Extreme case
![Page 69: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/69.jpg)
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
![Page 70: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/70.jpg)
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
![Page 71: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/71.jpg)
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-
![Page 72: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/72.jpg)
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
![Page 73: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/73.jpg)
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
![Page 74: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/74.jpg)
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
![Page 75: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/75.jpg)
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
![Page 76: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/76.jpg)
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
![Page 77: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/77.jpg)
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
![Page 78: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/78.jpg)
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
![Page 79: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/79.jpg)
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
![Page 80: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/80.jpg)
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
![Page 81: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/81.jpg)
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]
![Page 82: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/82.jpg)
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 ]
![Page 83: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/83.jpg)
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 ]
![Page 84: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/84.jpg)
![Page 85: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/85.jpg)
Global weather satellite: rotating Earth
rotating Earth with animated clouds covering the most recent 3 week
showing current clouds
![Page 86: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/86.jpg)
![Page 87: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/87.jpg)
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.
![Page 88: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/88.jpg)
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
![Page 89: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/89.jpg)
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
![Page 90: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/90.jpg)
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
![Page 91: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/91.jpg)
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’’
![Page 92: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/92.jpg)
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
![Page 93: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/93.jpg)
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]
![Page 94: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/94.jpg)
Denominator vs omega x
50 100 150 200 250 300 350 400-4
-3
-2
-1
0
1
2
![Page 95: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/95.jpg)
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
![Page 96: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/96.jpg)
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
![Page 97: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/97.jpg)
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
![Page 98: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/98.jpg)
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
![Page 99: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/99.jpg)
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)
![Page 100: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/100.jpg)
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
![Page 101: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/101.jpg)
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!!
![Page 102: X y z Body frame Goal vector y x y Body frame Goal vector x z Body frame Goal vector x Body frame](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649ea05503460f94ba3b37/html5/thumbnails/102.jpg)
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