Download - Satellite Guidance & Control I
Satellite Guidance & Control I
Southeast Satellite Operations
Bidder’s Conference
March 2005
Disclosure• I have been hired by Southeast Satellite
Operations to cover this basic material.
• Engineering Competence is demonstrated by – Knowing this material completely– Going beyond this material demonstrates
competence relative to other competitors
• What goes on in this conference stays in this conference (feel free to ask questions)
UnderstandingDimensions
• Knowledge– Extent to which unschooled
perspectives have been transcended
• Methods– Process knowledge to produce
additional knowledge
• Purposes– Explain, reinterpret, operate on
world
• Forms– Process by which understanding
is communicated
Levels• Master
– Integrative, creative, thinking
• Apprentice– Disciplinary knowledge
and modes of thinking
• Novice– Rituals and
mechanisms of testing in school
• Naïve– directly available in the
world
Simple Satellite Model
2
( ) ( )0 1 0( )
(0) (0) 1( ) ( )
( )1( )
( ) (
1( ) ( )
0( )
)J t u
t tdu t
dt t t
t
t
s U sJs
y t J t
•Know these models.•Know how to get from one to any other.•Know what everything means.
Alternative SS Models
• OCF
• CCF
• Where does J go?– options
• SIDF
• All have the same transfer function
• How are the SS models related?
Perspective• Friction?• Spring constant?
( ) ( ) ( ) ( )
( ) 0 1 ( ) 0( )
( ) ( )
Mx t Bx t Kx t ku t
x t x tdu t
x t B M K M x t k Mdt
( ) ( ) ( ) ( )
( ) 0 1 ( ) 0( )
( ) ( )
J t B t K t ku t
t tdu t
t B J K J t k Jdt
Recall Solution to SS Models
( )
0
( ) ( ) ( ), (0)
( ) (0) ( )t
At A t
x t Ax t Bu t x
x t e x e Bu d
It is assumed that the SS model is committed to memory. In addition it is assumed that the solution and the derivation of the solution is committed to memory.
Guidance Problem• Find an input function that will “guide” the
state from its initial state, to a desired final state in specified time.– This is a design problem
• It involves making choices
• The answer is not unique
• Some choices are better than others
• An engineer is expected to evaluate options and choose best option for client/boss
A Few Example Inputs
1
1 2
2
( )
(
0
)
( ) 0
( )T
f
T A
M t
u t t
M t t
u m b
u ae b
u B e v
e
0 ft
Use your imagination to generate others.
Example Guidance Problem( )(0)
(0) , ( )( )(0)
0 1 1,
0 0 0 1
f
ff
At
tx x t
t
tA e
Expected to know how to derive eAt.Expected to know how to verify eAt.
Begin with solution to state equations.
Choose Parameters for first Input (1)
0
0
0
0
2
0
3 2
2
0
0
1 0( )
0 1 1
( )1
/ 3 / 2
f f
f f
f
f
f
f
f
At At
f
At A
t
t
t
f f
f f
t
f
At
f
At
f
m b d
m b d
m bd
m b
mt
x e x e
x e x e
e x x
e x xbt
mt bt
Choose Parameters for first Input (2)
3 2
20
0
0
1
3 2
2
0
/ 3 / 2
/ 3 / 2
/ 2
f
f
f
f
At
f
At
f
At
f
A
f f
f f
f f
f
f
f
t
mt bt
mt bt
t t m
t
e x x
e x x
e
M
x x
e
t b
mM
b
xb
xm
Choose Parameters for first Input (3)
10
fAt
f
me xM x
b
( )u m b
What step could have caused failure?
Matlab functions for 1st Input
function xdot = AxpB1(t,x,A,B,m,b)u=m*t+b; %u1 is defined herexdot=A*x+B*u;
function [m,b] = u1parms(x0,xf,tf,A)% compute parameters m and b for the input function% u(t)=mt+b% Syntax [m,b] = u1(x0,xf,tf,A)% x0 = initial state; xf = final state; tf = final time% A is 2 by 2 A matrix in state equations% assumptions: n = 2, CCFM=[-tf^3/3 -tf^2/2 tf^2/2 tf ];% Should check for invertibility of Mx = M^(-1)*(expm(-A*tf)*xf-x0);m = x(1); b = x(2);
Results>> [t,x]=ode45(@AxpBu1,[0 2],x0,[],A,B,m,b);
>> plot(t,x)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1response to u1
time, seconds
blue
is x
1, g
reen
is x
2
Choose Parameters for 4th Input (1)
0
0
2
0
3
0
0
2
0
02
1 0 1 00 1
0 1 1 1
11
1
1 1
3 21
2
f
f
f f
f f
f
f
f
At At
f
At At
f
At
f
A
t
t
t
f f
f f
t
f
x e x e
x e x e
e x x
vd
d v
d v
t te x x v
t t
Choose Parameters for 4th Input (2)
3 2
02
10
1 1
3 21
2
f
f
f f
f
At
f
At
f
f
t t
t t
ve x x
e xW xv
( )TT Au B e v
Failure?
Matlab functions for 4th Inputfunction v=u4parms(x0,xf,tf,A)%need comments, syntax, definitions, etcW=[tf^3/3 -tf^2/2 -tf^2/2 tf];v=W^(-1)*(expm(-A*tf)*xf-x0);
function xprime = AxpBu4(t,x,A,B,v)u=B'*expm(-A'*t)*v; % u4 herexprime=A*x+B*u;
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1response to u4
time, seconds
blue
is x
1(t)
, gr
een
is x
2(t)
>> [t,x]=ode45(@AxpBu4,[0 2],x0,[],A,B,v);
>> plot(t,x)
Choose Parameters for Additional Inputs
• Left for the entertainment of potential bidders
• Reduce to Computer code.– This is one way to clearly demonstrate to SSO
that you have an algorithm with specified inputs that produces the specified outputs.
• Test/verify algorithm (computer code)
Evaluate Performance for various inputs
• Use one of the ODE? functions to solve the DE– ode23, ode45, ode113, ode15s, ode23s, ode23t,
ode23tb – Define Matlab functions for the input functions– Define Matlab functions for the DE with
specified input function– Plots– Balance performance and fuel consumption– Exercise judgement
Compare inputs
21 4
0
( ) ( ) ( ) ( ) .5ft t
t
E u u t dt E u E u
Energy used?
1
4
( ) 0( ) .5 .5
1 0 0 0( ) 0 1 1 .5
1 .5 .5
TT A t
u t mt b t
u t B e v tt
What could cause failure?• How can you guarantee success?
• Can you easily predict failure?
• CONTROLLABILITY or CONTROLLABLE
• Matrices that had to be inverted involved e-AtB and/or its transpose
• Inverses fail to exist when ranks are too low
• Rank of integral of [(e-AtB)u(t)] =?
• Cayley-Hamilton theorem
Loose Ends to tie up
• Many state space models can share the same transfer function. – How are these related?
• Under what conditions can an input be found that guides an arbitrary initial state to an arbitrary final state?