Nonlinear H∞ Attitude Controller for Satellites: part2
Passive dynamics and the PD-liked controller
Before diving into an H∞ controller design, it is helpful to have a big picture of how the attitude of a rigid body evolves with and without external torques. Consequently, a PD (proportional-differential) controller corresponding to the “attitude error” and the “angular speed” will be proposed with guaranteed stability. Readers should be prepared with basic knowledge of the kinematic for an SO3 object and the dynamics of a rigid body.
Simulation setup of rigid body motion
A rigid body motion modeling can be realized as a nonlinear second-order system composed of kinematics [1] and dynamics [2]. One may refer to this previous post for more detailed information.
The ODEs stated above with 7 states in total “[ω,σ,η]”, could be solved by almost any type of numerical solver. Simulink with a discrete-time approximation will be used in our case.
Although the normalizing constraint “σᵀσ+ηη=1” is already embedded in the kinematic equation, additional regulation was still required to compensate for further bias due to numerical errors.
Passive dynamics of a rigid body
People often get tricked into that, the angular acceleration was merely the familiar “F=ma” equation with some straightforward replacement. Furthermore, an even wider spread myth is that the angular speed of a rigid body remains constant without external torques. There is this interesting phenomenon called the “Tennis racket theorem”, which is a perfect example that shows a changing angular velocity even without any external torques. In case you urged a more detailed explanation, a very worthwhile online course I’ll recommend is held by professor Shane Ross [3].
Let’s put it simply:
Conserved angular momentum does not imply a constant angular speed both in the inertia and the body frame
PD attitude controller for a rigid body
In this section, a naive approach that stabilizes the attitude to the origin “[ω,σ,η]=[0,0,0,0,0,0,±1]” will be proposed and proven to be stable through the LaSalle’s invariance principle [4]. Although the term proportional sounds absurd for an attitude that belongs to SO3, it makes sense when using a quaternion.
With a candidate as the Lyapunov function which is positive in the perspective of geodesic metrics. Its time derivative can be easily derived, assuming the case “η≥0” (change the sign of the term “1-η” for the case “η<0”):
To assure a negative rate “k₁=α, α>0” & “k₂>0”, for cases where “ω=0” we could further argue that those states other than the origin were not stationary. The stability was then guarded by LaSalle’s invariance principle.
Any positive gain k₁, k₂ will stabilize the satellite, cheers
Simulation results
The actual response could be intuitively visualized in 3D without being confused by the cursed quaternion representation.
P control
Let’s start with the fun one, with “k₁=50” & “k₂=0”, shown in the analysis above, we should expect a conserved Lyapunov function that is not stabilizing.
PD control
The stability could easily be enforced by adding any damping larger than zero, for example, “k₁=50” & “k₂=5”.
PD control, without sign-changing
As you may notice, the attitude space was double covered by the normalized quaternion representation, for instance, both “[0,0,0,1]” and “[0,0,0,-1]” represent the origin. This causes a funky issue if the control law does not take this into account. In the following example, lets us try out the controller without switching the sign corresponding to the value “η”.
References
[1] R. J. Adams, J. M. Buffington, A. G. Sparks, and S. S. Banda, Robust Multivariable Flight Control. Springer London, 2012.
[2] L. N. Hand en J. D. Finch, Analytical Mechanics. Cambridge University Press, 1998.
[3] Shane Ross, Space Vehicle Dynamics 🛰 Lecture 22: Free Rigid Body Motion | Precession of Symmetric Bodies | General Motion, October 2021. [Online]. Available: https://youtu.be/vtCrcVKpWC0
[4] S. H. Żak, Systems and Control. Oxford University Press, 2003.
[5] 3D model of the spacecraft from Chris, Shakel. [Online]. Available: https://grabcad.com/chris.shakal