Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Tracking Control of Nanosatellites with Uncertain Time Varying Parameters
1. Problem Statement
Control Formulation
Conclusions
Tracking Control of Nanosatellites
with Uncertain Time Varying Parameters
Divya Thakur 1
and Belinda G. Marchand 2
Department of Aerospace Engineering and Engineering Mechanics
The University of Texas at Austin
AAS/AIAA Astrodynamics Specialist Conference
July 31 - August 4, 2011 Girdwood, Alaska
1
Graduate Student, Department of Aerospace Engineering
2
Assistant Professor, Department of Aerospace Engineering, AIAA Associate Fellow
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 1/ 18
2. Problem Statement
Control Formulation
Conclusions
Motivation
Error Dynamics
Modeling a Time-Varying Inertia Matrix
Motivation
◮ Spacecraft tracking problem is widely studied.
◮ Many adaptive control solutions for systems with constant uncertain inertia
parameters.
◮ Limited research in adaptive control of time-varying inertia matrix.
◮ Focus of study: Adaptation mechanism that maintains consistent tracking
performance in the face of uncertain time-varying inertia matrix.
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 2/ 18
3. Problem Statement
Control Formulation
Conclusions
Motivation
Error Dynamics
Modeling a Time-Varying Inertia Matrix
Attitude-Tracking Error Dynamics
◮ Attitude-error dynamics:
˙qe0 = −
1
2
qT
ev
ωe
˙qev
=
1
2
qe0 I + qev
× ωe
Angular-velocity tracking error dynamics:
˙ωe = J−1
−˙Jω − [ω×]Jω + u + [ωe×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
◮ Control objective: Find u(t) s.t. limt→∞ qe, ωe = 0 for any
[qr(t), ωr(t)] for all [q(0), ω(0)], assuming full feedback [q(t), ω(t)] and
uncertainty in J(t).
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 3/ 18
4. Problem Statement
Control Formulation
Conclusions
Motivation
Error Dynamics
Modeling a Time-Varying Inertia Matrix
Attitude-Tracking Error Dynamics
◮ Attitude-error dynamics:
˙qe0 = −
1
2
qT
ev
ωe
˙qev
=
1
2
qe0 I + qev
× ωe
Angular-velocity tracking error dynamics:
˙ωe = J−1
−˙Jω − [ω×]Jω + u + [ωe×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
◮ Control objective: Find u(t) s.t. limt→∞ qe, ωe = 0 for any
[qr(t), ωr(t)] for all [q(0), ω(0)], assuming full feedback [q(t), ω(t)] and
uncertainty in J(t).
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 3/ 18
5. Problem Statement
Control Formulation
Conclusions
Motivation
Error Dynamics
Modeling a Time-Varying Inertia Matrix
Attitude-Tracking Error Dynamics
◮ Attitude-error dynamics:
˙qe0 = −
1
2
qT
ev
ωe
˙qev
=
1
2
qe0 I + qev
× ωe
Angular-velocity tracking error dynamics:
˙ωe = J−1
−˙Jω − [ω×]Jω + u + [ωe×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
◮ Control objective: Find u(t) s.t. limt→∞ qe, ωe = 0 for any
[qr(t), ωr(t)] for all [q(0), ω(0)], assuming full feedback [q(t), ω(t)] and
uncertainty in J(t).
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 3/ 18
6. Problem Statement
Control Formulation
Conclusions
Motivation
Error Dynamics
Modeling a Time-Varying Inertia Matrix
Attitude-Tracking Error Dynamics
◮ Attitude-error dynamics:
˙qe0 = −
1
2
qT
ev
ωe
˙qev
=
1
2
qe0 I + qev
× ωe
Angular-velocity tracking error dynamics:
˙ωe = J−1
−˙Jω − [ω×]Jω + u + [ωe×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
◮ Control objective: Find u(t) s.t. limt→∞ qe, ωe = 0 for any
[qr(t), ωr(t)] for all [q(0), ω(0)], assuming full feedback [q(t), ω(t)] and
uncertainty in J(t).
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 3/ 18
7. Problem Statement
Control Formulation
Conclusions
Motivation
Error Dynamics
Modeling a Time-Varying Inertia Matrix
Type of Inertia Matrix Considered
◮ Time-varying inertia matrix of the form
J(t) = JoΨ(t)
◮ Jo: Jo > 0, JT
o = Jo constant, unknown or uncertain
◮ Ψ(t): Ψ > 0, ΨT
= Ψ time-varying, known
◮ Uncertainty itself is constant, multiplicative
◮ May be used to model spacecraft undergoing
1. Thermal Variations
2. Fuel slosh
3. Appendage deployment (sensor booms, solar sails, antennas, etc.)
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 4/ 18
8. Problem Statement
Control Formulation
Conclusions
Motivation
Error Dynamics
Modeling a Time-Varying Inertia Matrix
Example of a Time-Varying Inertia Matrix (1/2)
◮ Consider a spacecraft undergoing boom deployment (e.g., GOES-R spacecraft):
◮ Boom extension rate controlled by miniature DC-torque motors
◮ Initial mass of prism: m0
◮ Mass of fully extended boom: αm0, 0 < α < 1
DEPLOYED BOOM
12l
SENSOR
SATELLITE
MAIN BODY
1l
13l
1l
STOWED
COLLABPSIBLE
BOOM
SATELLITE
MAIN BODY
STOWED
BOOM
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 5/ 18
9. Problem Statement
Control Formulation
Conclusions
Motivation
Error Dynamics
Modeling a Time-Varying Inertia Matrix
Example of a Time-Varying Inertia Matrix (2/2)
◮ Rod length, rod mass, and prism mass are (respectively)
r(t) =
2l1
τ
, mp(t) =
αm0
τ
t, mc(t) = m0 − 2mp(t)
◮ Inertia matrix given by
Jo =
5
6
m0l2
1 0
0 5
6
m0l2
1 0
0 0 1
6
m0l2
1
For 0 ≤ t ≤ τ,
Ψ(t) =
1 − 2α
τ
t 0 0
0 1 − 7
5
α
τ
t + 12
5
α
τ2 t2
+ 16
5
α
τ3 t3
0
0 0 1 + α
τ
t + 12 α
τ2 t2
+ 16 α
τ3 t3
,
for t > τ,
Ψ(t) =
1 − 2α 0 0
0 1 − 7
5
α + 12
5
α + 16
5
α 0
0 0 1 + α + 12α + 16α
.
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 6/ 18
10. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Control Formulation
◮ Control method based on the non-certainty equivalence (non-CE) adaptive
control results of Seo and Akella (2008)3
.
◮ Provides superior performance over traditional CE based methods when
reference trajectory does not satisfy certain persistence of excitation (PE)
conditions.
◮ Original result treats constant inertia matrix.
◮ Present investigation modifies original result to handle time-varying inertia
matrix of the specific form
J(t) = JoΨ(t).
3
Seo, D. and Akella, M. R., High-Performance Spacecraft Adaptive Attitude-Tracking Control Through
Attracting-Manifold Design, Journal of Guidance, Control, and Dynamics, Vol. 31, No. 4, 2008, pp. 884–891
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 7/ 18
11. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Non-CE Adaptive Controller
◮ For problem described by tracking-error equations and inertia matrix
J = JoΨ(t), control input is
u = Ψ −W ˆθ + δ + Wf ΓWT
f kp(qev
− ωef ) + ωe
˙ˆθ = ΓWT
f (β + kv)ωef + kpqev
− ΓWT
ωef
δ = ΓWT
f ωef ,
◮ Regressor matrix
Wθ∗
= −Ψ−1
Jo
˙Ψω − Ψ−1
[ω×]JoΨω + Jo [ω×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
+ Jo kpβqev
+ kp ˙qev
+ kvωe ,
◮ Parameters: θ∗
= [Jo11 , Jo12 , Jo13 , Jo22 , Jo23 , Jo33 ]T
.
◮ Filter variables
˙ωef = −βωef + ωe
˙Wf = −βWf + W,
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 8/ 18
12. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Non-CE Adaptive Controller
◮ For problem described by tracking-error equations and inertia matrix
J = JoΨ(t), control input is
u = Ψ −W ˆθ + δ + Wf ΓWT
f kp(qev
− ωef ) + ωe
˙ˆθ = ΓWT
f (β + kv)ωef + kpqev
− ΓWT
ωef
δ = ΓWT
f ωef ,
◮ Regressor matrix
Wθ∗
= −Ψ−1
Jo
˙Ψω − Ψ−1
[ω×]JoΨω + Jo [ω×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
+ Jo kpβqev
+ kp ˙qev
+ kvωe ,
◮ Parameters: θ∗
= [Jo11 , Jo12 , Jo13 , Jo22 , Jo23 , Jo33 ]T
.
◮ Filter variables
˙ωef = −βωef + ωe
˙Wf = −βWf + W,
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 8/ 18
13. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Non-CE Adaptive Controller
◮ For problem described by tracking-error equations and inertia matrix
J = JoΨ(t), control input is
u = Ψ −W ˆθ + δ + Wf ΓWT
f kp(qev
− ωef ) + ωe
˙ˆθ = ΓWT
f (β + kv)ωef + kpqev
− ΓWT
ωef
δ = ΓWT
f ωef ,
◮ Regressor matrix
Wθ∗
= −Ψ−1
Jo
˙Ψω − Ψ−1
[ω×]JoΨω + Jo [ω×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
+ Jo kpβqev
+ kp ˙qev
+ kvωe ,
◮ Parameters: θ∗
= [Jo11 , Jo12 , Jo13 , Jo22 , Jo23 , Jo33 ]T
.
◮ Filter variables
˙ωef = −βωef + ωe
˙Wf = −βWf + W,
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 8/ 18
14. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Non-CE Adaptive Controller
◮ For problem described by tracking-error equations and inertia matrix
J = JoΨ(t), control input is
u = Ψ −W ˆθ + δ + Wf ΓWT
f kp(qev
− ωef ) + ωe
˙ˆθ = ΓWT
f (β + kv)ωef + kpqev
− ΓWT
ωef
δ = ΓWT
f ωef ,
◮ Regressor matrix
Wθ∗
= −Ψ−1
Jo
˙Ψω − Ψ−1
[ω×]JoΨω + Jo [ω×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
+ Jo kpβqev
+ kp ˙qev
+ kvωe ,
◮ Parameters: θ∗
= [Jo11 , Jo12 , Jo13 , Jo22 , Jo23 , Jo33 ]T
.
◮ Filter variables
˙ωef = −βωef + ωe
˙Wf = −βWf + W,
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 8/ 18
15. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Non-CE Adaptive Controller
◮ For problem described by tracking-error equations and inertia matrix
J = JoΨ(t), control input is
u = Ψ −W ˆθ + δ + Wf ΓWT
f kp(qev
− ωef ) + ωe
˙ˆθ = ΓWT
f (β + kv)ωef + kpqev
− ΓWT
ωef
δ = ΓWT
f ωef ,
◮ Regressor matrix
Wθ∗
= −Ψ−1
Jo
˙Ψω − Ψ−1
[ω×]JoΨω + Jo [ω×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
+ Jo kpβqev
+ kp ˙qev
+ kvωe ,
◮ Parameters: θ∗
= [Jo11 , Jo12 , Jo13 , Jo22 , Jo23 , Jo33 ]T
.
◮ Filter variables
˙ωef = −βωef + ωe
˙Wf = −βWf + W,
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 8/ 18
16. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Non-CE Adaptive Controller
◮ For problem described by tracking-error equations and inertia matrix
J = JoΨ(t), control input is
u = Ψ −W ˆθ + δ + Wf ΓWT
f kp(qev
− ωef ) + ωe
˙ˆθ = ΓWT
f (β + kv)ωef + kpqev
− ΓWT
ωef
δ = ΓWT
f ωef ,
◮ Regressor matrix
Wθ∗
= −Ψ−1
Jo
˙Ψω − Ψ−1
[ω×]JoΨω + Jo [ω×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
+ Jo kpβqev
+ kp ˙qev
+ kvωe ,
◮ Parameters: θ∗
= [Jo11 , Jo12 , Jo13 , Jo22 , Jo23 , Jo33 ]T
.
◮ Filter variables
˙ωef = −βωef + ωe
˙Wf = −βWf + W,
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 8/ 18
17. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Numerical Simulations
◮ Two sets of simulations:
1. Non-PE reference trajectory
2. PE reference trajectory
◮ Simulation features
◮ Quantities used to calculate Jo and Ψ
m0 = 30 kg, l = 0.2 m, α = 0.1, τ = 200 s
◮ Uncertain parameter
Jo =
0.2 0
0 0.2 0
0 0 1.0
−→ θ∗
= [0.2, 0, 0, 0.2, 0, 1.0]T
◮ Initial parameter estimate: ˆθ(0) + δ(0) = 1.3 θ∗
◮ Simulation period is τ = 200 seconds.
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 9/ 18
18. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Non-PE Reference Trajectory (1/3)
◮ ωr = 0.1 cos(t)(1 − e0.01t2
) + (0.08π + 0.006 sin(t))te−0.01t2
· [1, 1, 1]T
◮ Gain values kp = 0.08, kv = 0.07, Γ = diag {100, 0.01, 0.01, 200, 0.01, 100}.
0 50 100 150 200
1e−007
1e−006
1e−005
0.0001
0.001
0.01
0.1
time (s)
AngularVel.ErrorVectorNorm
Norm of angular velocity error vector ωe
0 50 100 150 200
1e−007
1e−006
1e−005
0.0001
0.001
0.01
0.1
1
time (s)
QuaternionErrorVectorNorm
Norm of quaternion error vector qev
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 10/ 18
19. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Non-PE Reference Trajectory (2/3)
10
−2
10
−1
10
0
10
1
10
2
10
3
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
time(s)
ControlTorqueNorm(N−m)
Norm of control vector u
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 11/ 18
20. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
Non-PE Reference Trajectory (3/3)
10
−1
10
0
10
1
10
2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
time(s)
J
0
Parameters
J
o
(3,3)
J
o
(1,1) = J
o
(2,2)
Estimated
True
Parameter estimates converge to true values due to additional
persistence of excitation introduced by Ψ(t)
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 12/ 18
21. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
PE Reference Trajectory (1/3)
◮ ωr = cos(t) + 2 5 cos(t) sin(t) + 2
T
◮ Gain values: kp = 0.8, kv = 0.8, Γ = diag {1, 0.001, 0.001, 1, 0.001, 1}.
0 50 100 150 200
0.0001
0.001
0.01
0.1
1
10
time (s)
AngularVel.ErrorVectorNorm
Norm of angular velocity error vector ωe
0 50 100 150 200
0.0001
0.001
0.01
0.1
1
time (s)
QuaternionErrorVectorNorm
Norm of quaternion error vector qev
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 13/ 18
22. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
PE Reference Trajectory (2/3)
10
−2
10
−1
10
0
10
1
10
2
10
3
0
2
4
6
8
10
12
time(s)
ControlTorqueNorm(N−m)
Norm of control vector u
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 14/ 18
23. Problem Statement
Control Formulation
Conclusions
Adaptive Control
Numerical Simulations
PE Reference Trajectory (3/3)
10
−1
10
0
10
1
10
2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
time(s)
J
0
Parameters
J
o
(3,3)
J
o
(1,1) = J
o
(2,2)
Estimated
True
Parameter estimates converge to true values
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 15/ 18
24. Problem Statement
Control Formulation
Conclusions
Conclusions
◮ A non-CE adaptive control law employed for spacecraft attitude tracking in the
presence of uncertain time-varying inertia matrix.
◮ Uncertainty has special multiplicative structure.
◮ Numerical simulations performed for PE and non-PE reference signals.
◮ Attitude and angular-velocity tracking errors converge to zero.
◮ Parameter estimates converge to true values even when reference signal is
non-PE.
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 16/ 18
25. Problem Statement
Control Formulation
Conclusions
Extra 1: Some Necessary Manipulations
◮ The following algebraic manipulations are necessary to enable the adaptive
control derivation
˙ωe = −kpβqev
− kp ˙qev
− kvωe
subtracted term
+ J−1
o
Ψ−1
u − Jo
˙Ψω − [ω×]JoΨω − Joφ + Jo kpβqev
+ kp ˙qev
+ kvωe
added term
,
where φ = [ωe×]B
CR
(qe)ωr − B
CR
(qe) ˙ωr
◮ kp, kv > 0 and β = kp + kv
◮ Note: Dynamics are unchanged
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 17/ 18
26. Problem Statement
Control Formulation
Conclusions
Extra 2: Initial Conditions for Simulations
◮ Initial conditions
q(0) = 0.9487, 0.1826, 0.1826, 0.18268
T
ω(0) = 0, 0, 0
T
rad/s
qr(0) = [1, 0, 0, 0]T
Wf (0) = 0 , ωf (0) =
ωe(0) + kpqve
(0)
kp
◮ Initial filter-states1
are Wf (0) = 0 and ωf (0) =
ωe(0)+kpqve
(0)
kp
.
Thakur, Marchand Tracking Control for Uncertain Time-Varying Matrix 18/ 18