x y z body frame goal vector y x y body frame goal vector x z body frame goal vector x body frame

Post on 12-Jan-2016

227 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

( )

( )

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

top related