robust adaptive attitude control of a spacecraft · introduction several ways to control spacecraft...
TRANSCRIPT
Robust Adaptive Attitude Control of
a Spacecraft
AER1503 Spacecraft Dynamics and Controls II
April 24, 2015
Christopher Au
Agenda
Model Formulation
Controller Designs
Simulation Results
Introduction
April 2015 AER 1503 – Robust Adaptive Control 2
Introduction
Several Ways to control spacecraft attitude
Difficult because:
MIMO nonlinear system
Parametric uncertainties
Non-parametric uncertainties
Will present a controller with the following
components:
PD feedback
Feedforward – tracking response
Adaptive – robustness to parametric
Sliding Mode – robustness to non-parametric
3AER 1503 – Robust Adaptive ControlApril 2015
Model Formulation
Motion Equations:𝐼 𝜔 + 𝜔×𝐼𝜔 = 𝑢
𝜀 = −1
2𝜔×𝜀 +
1
2𝜂𝜔
𝜂 = −1
2𝜔𝑇𝜀
Euler Identities:𝜀𝑇𝜀 + 𝜂2 = 1
𝜀 = 𝑎 sin∅
2, 𝜂 = cos
∅
2
Quaternion Altitude Error:
𝜀𝑒 = 𝜂𝑑𝜀 − 𝜂𝜀𝑑 − 𝜀𝑑×𝜀
𝜂𝑒 = 𝜂𝜂𝑑 + 𝜀𝑇𝜂𝑑
4AER 1503 – Robust Adaptive ControlApril 2015
Spacecraft plant implemented in Simulink
Controller Design: Adaptive Control
Using feedback and feedforward control, the equil. is GAS
Must know inertia matrix exactly
With adaptive control, the inertia matrix can be estimated
Goal: have the system be have as if the unknown parameters are
known
Adaptation law: 𝑎 = −Γ𝑌𝑇𝑠
Control law: 𝑢 = 𝑌 𝑎 − 𝐾𝐷𝑠
Γ is the adaptation gain
𝑎 = 𝐼11 𝐼22 𝐼33 𝐼12 𝐼13 𝐼23𝑇 is the unknown elements
𝑎 is the estimated elements
𝑠 is the smoothed error
5AER 1503 – Robust Adaptive ControlApril 2015
Controller Design: Adaptive Control
𝑌 is the regressor matrix corresponding to: 𝐼 𝜔𝑟 + 𝜔𝑟
× 𝐼𝜔 = 𝑌 𝑎
𝑌 =
𝜔𝑟1 −𝜔2𝜔𝑟3 𝜔3𝜔𝑟2
𝜔1𝜔𝑟3 𝜔𝑟2 −𝜔3𝜔𝑟1
−𝜔1𝜔𝑟2 𝜔2𝜔𝑟1 𝜔𝑟3
𝜔𝑟2 − 𝜔1𝜔𝑟3 𝜔𝑟3 + 𝜔1𝜔𝑟2 𝜔2𝜔𝑟2 − 𝜔3𝜔𝑟3
𝜔𝑟1 + 𝜔2𝜔𝑟3 −𝜔1𝜔𝑟1 + 𝜔3𝜔𝑟3 𝜔𝑟3 − 𝜔2𝜔𝑟1
𝜔1𝜔𝑟1 − 𝜔2𝜔𝑟2 𝜔𝑟1 − 𝜔3𝜔𝑟2 𝜔𝑟2 + 𝜔3𝜔𝑟1
Parameter estimation error: 𝑎 = 𝑎 − 𝑎
Lyapunov Proof:
𝑉 𝑡 =1
2𝑠𝑇𝐼𝑠 +
1
2 𝑎𝑇Γ−1 𝑎
𝑉 = 𝑠𝑇𝐼 𝑠 + 𝑎𝑇Γ−1 𝑎= 𝑠𝑇𝐼 𝜔 − 𝑠𝑇𝐼 𝜔𝑟 + 𝑎𝑇Γ−1 𝑎= 𝑠𝑇 𝑢 − 𝜔×𝐼𝜔 − 𝑠𝑇(𝑌𝑎 − 𝜔𝑟
×𝐼𝜔) + 𝑎𝑇Γ−1 𝑎 − 𝑎= 𝑠𝑇 𝑌 𝑎 − 𝐾𝐷𝑠 − 𝜔×𝐼𝜔 − 𝑠𝑇(𝑌𝑎 − 𝜔𝑟
×𝐼𝜔) + 𝑎𝑇Γ−1 𝑎 − 𝑎= −𝑠𝑇𝐾𝐷𝑠 + 𝑠𝑇𝑌 𝑎 − 𝑎 − 𝑠𝑇𝑠×𝐼𝜔 + −𝑠𝑇𝑌Γ Γ−1 𝑎 − 𝑎= −𝑠𝑇𝐾𝐷𝑠
Barbalat’s lemma: {𝑉 𝑡 𝑙𝑜𝑤𝑒𝑟 𝑏𝑜𝑢𝑛𝑑𝑒𝑑, 𝑉 ≤ 0, 𝑉 𝑏𝑜𝑢𝑛𝑑𝑒𝑑}, then 𝑉 → 0. So s converges to zero and the system is GAS.(𝜀 → 𝜀𝑑 ,𝜂 → 𝜂𝑑)
6AER 1503 – Robust Adaptive ControlApril 2015
Controller Design: Adaptive Control
Convergence is not exact in the estimated parameters
Controller will generate values that allow the tracking error to
converge to zero
Trajectory must be sufficiently “rich” for convergence ( 𝑎 → 𝑎)
Design parameters: 𝜆, 𝐾𝐷 and Γ are limited in magnitude
Due to high frequency unmodeled dynamics
actuator dynamics
structural resonant modes
sampling limitations
measurement noise
7AER 1503 – Robust Adaptive ControlApril 2015
Controller Design: Adaptive Control
8AER 1503 – Robust Adaptive ControlApril 2015
Adaptive and feedforward block
Closed loop system with adaptation
Controller Design: Robust Adaptive
Non-parametric uncertainties can reduce performance of
controller when placed online
Drifting of estimated parameter terms in the adaptive
controller
Robustness in the adaptive controller can be achieved with
sliding mode control
This creates a dead zone where the system does not adapt
New smoothed error: 𝑠Δ
Such that: 𝑠 ≤ ∅ ⟺ 𝑠Δ = 0
𝑠Δ = 𝑠 − ∅ sat𝑠
∅
9AER 1503 – Robust Adaptive ControlApril 2015
Illustration of saturator function with dead zone
Controller Design: Robust Adaptive
Modified adaptation law: 𝑎 = −Γ𝑌𝑇𝑠Δ Motion equations with disturbance: 𝐼 𝜔 + 𝜔×𝐼𝜔 = 𝑢 + 𝑑
Lyapunov Proof:
𝑉 𝑡 =1
2𝐼𝑠Δ
2 +1
2 𝑎𝑇Γ−1 𝑎
𝑉 = 𝑠Δ𝑇𝐼 𝑠 + 𝑎𝑇Γ−1 𝑎
= 𝑠Δ𝑇 𝑌 𝑎 − 𝐾𝐷𝑠 − 𝜔×𝐼𝜔 + 𝑑 − 𝑠Δ
𝑇(𝑌𝑎 − 𝜔𝑟×𝐼𝜔) + 𝑎𝑇Γ−1 𝑎 − 𝑎
= −𝑠Δ𝑇𝐾𝐷 𝑠Δ + ∅sat
𝑠
∅+ 𝑠Δ
𝑇𝑌 𝑎 − 𝑎 − 𝑠Δ𝑇𝑠×𝐼𝜔 + −𝑠Δ
𝑇𝑌Γ Γ−1 𝑎 − 𝑎
= −𝑠Δ𝑇𝐾𝐷𝑠Δ − 𝐾𝑑∅ 𝑠Δ + 𝑠Δ𝑑
≤ −𝑠Δ𝑇𝐾𝐷𝑠Δ
Barbalat’s lemma: 𝑉 ≤ 0 ⟹ 𝑠Δ → 0
10AER 1503 – Robust Adaptive ControlApril 2015
Controller Design: Robust Adaptive
11AER 1503 – Robust Adaptive ControlApril 2015
Closed loop system with adaptation and noise
Robust adaptive and feedforward block
Simulation Results
12AER 1503 – Robust Adaptive ControlApril 2015
Parameter Symbol Value
Inertia Matrix 𝐼15 5 55 10 75 7 20
𝑘𝑔 ∙ 𝑚2
Spacecraft initial state 𝑥(0) 0 0 0 1 𝑇 𝑟𝑎𝑑Proportional gain in PD controller 𝐾𝑝 200
Derivative gain in PD controller 𝐾𝑑 20Smoothed error 𝜀𝑒 weight 𝜆 25
Initial estimate of inertia matrix parameters 𝑎(0) 15 10 20 5 5 7 𝑇 𝑘𝑔 ∙ 𝑚2
Adaptation law gain Γ 15Sliding mode dead zone ∅ ±0.15
Simulation Parameters
Simulation Results
13AER 1503 – Robust Adaptive ControlApril 2015
Smoothed error without sliding mode Smoothed error with sliding mode
At steady state, 𝑠 ≤ 0.1 so dead zone chosen to be ∅ = 0.15 to
prevent parameter drift
Simulation Results
Note how the tracking is almost perfect
14AER 1503 – Robust Adaptive ControlApril 2015
Robust adaptive controller tracking results Robust adaptive controller tracking error
Possible Controller Improvements
Robust adaptive controller for s/c attitude tracking is
not optimal
Possible solutions:
Nonlinear Quadratic Regulator
Nonlinear Model Predictive Controller
MPCs considers the system actuation restrictions
Stability and robustness can be ensured through the proper
choice of terminal constraints.
15AER 1503 – Robust Adaptive ControlApril 2015
Conclusion
Robust adaptive controller was designed for
spacecraft attitude tracking
Closed loop system was simulated entirely in software
using Simulink
Concepts from sliding mode control were used to add
system robustness
16AER 1503 – Robust Adaptive ControlApril 2015
Thank You
Questions?
17AER 1503 – Robust Adaptive ControlApril 2015
References
18AER 1503 – Robust Adaptive ControlApril 2015
[1] O. Egeland and J. -M. Godhavn, "Passivity-Based Adaptive Attitude," IEEE Transactions on
Automatic Control, vol. 39, no. 4, pp. 842-845, 1994.
[2] J.-J. E. Slotine and D. D. Benedetto, "Hamiltonian Adaptive Control of Spacecraft," IEEE
Transactions on Automatic Control, vol. 35, no. 7, pp. 848-852, 1990.
[3] J.-J. E. SLOTINE and W. LI, Applied Nonliner Control, Englewood Cliffs, New Jersey:
Prentice Hall, 1991.
[4] C. Dameren, "Spacecraft Dynamics and Control II," in AER 1503 Course Notes, Toronto,
University of Toronto, 2015.
[5] A. Bilton, "Adaptive Control," in MIE1068 Course Notes, Toronto, University of Toronto,
2014.
[6] S. Boyd, "Model Predictive Control," in EE364b Course Notes, California, Stanford
University, 2013.
[7] B. T. Costic, D. M. Dawson, M. d. Queiroz and V. Kapila, "A Quaternion-Based Adaptive
Attitude Tracking Controller Without Velocity Measurements," Decision and Control, vol. 3,
no. 39, pp. 2424 - 2429, 2000.
[8] O. L. deWeck, "Attitude Determination and Control," in Space Systems Product Development
Course Notes, Massachusetts Institute of Technology, 2001.
/ Supplementary Slides /
19AER 1503 – Robust Adaptive ControlApril 2015
MPC
20AER 1503 – Robust Adaptive ControlApril 2015
Controller Design: PD Feedback
Quaternion Altitude Error:
𝜀𝑒 = 𝜂𝑑𝜀 − 𝜂𝜀𝑑 − 𝜀𝑑×𝜀
𝜂𝑒 = 𝜂𝜂𝑑 + 𝜀𝑇𝜂𝑑
PD Control Law:
𝑢 𝑡 = −𝐾𝑑𝜔 𝑡 − 𝑘𝜀𝑒 𝑡 , 𝐾𝑑 = 𝐾𝑑𝑇 , 𝑘 > 0
21AER 1503 – Robust Adaptive ControlApril 2015
Controller Design: PD Feedback
Lyapunov Function Candidate:
𝑉 𝑡 =1
2𝜔𝑇𝐼𝜔 + 𝑘 𝜀𝑒
𝑇𝜀𝑒 + 𝜂𝑒 − 1 2
𝑉 = 𝜔×𝐼 𝜔 + 2𝑘 𝜀𝑒𝑇 𝜀𝑒 + 𝜂𝑒 − 1 𝜂𝑒
=0 @𝑒𝑞𝑢𝑖𝑙
= 𝜔× 𝑢 − 𝜔×𝐼𝜔= 𝜔× −𝐾𝑑𝜔 − 𝑘𝜀𝑒 − 𝜔×𝐼𝜔= −𝜔×𝐾𝑑𝜔
22AER 1503 – Robust Adaptive ControlApril 2015
Figure 2: PD controller with plant
Controller Design: Feedforward
Feedforward Torque: 𝑢𝑑= 𝐼 𝜔𝑟 + 𝜔𝑟×𝐼𝜔
Controller Output: 𝑢 = 𝑢𝑑 + 𝑢
Smoothed Error:𝑠 = 𝜔 + 𝜆𝜀𝑒 = 𝜔 − 𝜔𝑟
Reference Angular Velocity: 𝜔𝑟 = 𝜔𝑑 − 𝜆𝜀𝑒Lyapunov Function Candidate:
𝑉 𝑡 =1
2 𝜔𝑇𝐼 𝜔
𝑉 = 𝜔𝑇𝐼 𝜔= 𝜔𝑇 𝑢 − 𝜔×𝐼𝜔= 𝜔𝑇 𝑢
Integrating both sides from 𝒕 = 𝟎 to 𝑻:
0
𝑇
𝜔𝑇 𝑢 𝑑𝑡 = 𝑉 𝑇 − 𝑉 0
= 𝑉 𝑇≥ 0
23AER 1503 – Robust Adaptive ControlApril 2015
Controller Design: Feedforward
24AER 1503 – Robust Adaptive ControlApril 2015
Figure 3: Feedforward block
Figure 4: PD and feedforward controller