Globally Convergent Adaptive Tracking of Angular Velocity for a Planar Rigid Body Without Inertia Modeling Nalin A. Chaturvedi, Amit K. Sanyal, Madhusudhan Chellappa, Jean Luc Valk, Jinglai Shen, Jasim Ahmed, N. Harris McClamroch and Dennis S. Bernstein Department of Aerospace Engineering, The University of Michigan Ann Arbor, Michigan 48109-2140 (734) 764-3719, FAX (734) 763-0578
[email protected] December 15, 2004
Abstract The problem of a rigid body, with unknown inertia parameter, tracking a desired angular velocity trajectory is addressed using adaptive feedback control. An adaptive controller is developed for a planar rotating body tracking a desired angular velocity command. Lyapunov analysis is used to show that tracking is achieved globally. Furthermore, sufficient conditions on the reference signal for estimation of inertia are proven. The adaptive controller is implemented on a triaxial attitude control testbed with fan thrusters. A lack of convergence of the inertia estimate indicates the presence of an input nonlinearity. To account for this effect, a piecewise linear approximation of the nonlinearity is inverted to obtain improved angular velocity tracking and inertia identification. Finally, to eliminate the residual tracking error, an adaptive algorithm is used for improved feedback linearization. Lyapunov analysis is used to show convergence of the angular velocity and inertia estimate errors. The approach is validated by experimental implementation. ∗
Research supported in part by the Air Force Office of Scientific Research under Grant F49620-98-1-0037 and NSF
Grant ECS-0140053.
∗
1
Introduction Control of a single free rigid body in three dimensions is a widely studied and fundamental
problem in spacecraft dynamics. Although the problem is most commonly considered in the presence of three control torques, significant research has been devoted to the cases of two torques [1] - [5] and one torque [2], [3], [6]. If minimum fuel or minimum time performance is required in addition to stabilization, then this problem is challenging even in the case of three torque inputs [7], [8]. If rotors are used to provide control torques, then the problem involves multiple bodies and significantly greater complexity [9], [10]. Furthermore, the presence of realistic sensor and actuator nonlinearities, such as saturation, renders the problem more difficult.
The above remarks are based on the assumption that the spacecraft mass distribution is known and constant. However, in practice there are limitations on the ability to determine the mass distribution due to fuel usage, moving appendages, and complex geometry. Hence it is of interest to determine controllers that can operate reliably with as little inertia modeling information as possible.
In the present paper we address the inertia-uncertainty problem for planar rotation by deriving an adaptive controller that asymptotically follows an angular velocity command without any information concerning the mass distribution. In addition, the controller we present provides asymptotic tracking of a large class of angular velocity commands. For a rotating spacecraft modeled as a rigid body, this controller has the form of a PI control law. The integrator state, which corresponds to the inertia estimate, converges to the actual inertia under sufficiently persistent excitation.
It is important to point out that angular velocity tracking does not guarantee inertial attitude control. The inclusion of attitude states within an inertia-independent adaptive controller is given in [11]. The tracking problem considered in the present paper can be viewed as a specialization of [11] to the case in which attitude measurements are not available. However, for one degree of freedom, the development in the present paper is more comprehensive than the results of [11] in terms of convergence analysis and experimental demonstration. The case of three-dimensional rotation will be addressed in a follow-on paper.
1
The contents of the paper are as follows. In Section 2 we present an adaptive control scheme that provides angular velocity tracking for a planar rigid body with unknown inertia. In addition, we present a method for identifying the unknown inertia, and apply the method to a numerical example. A description of the testbed and control hardware used for experiments is presented in Section 3. In Section 4 we present experimental results for single-degree-of-freedom rotation. The lack of convergence of the inertia estimate indicates the presence of an input nonlinearity. To account for this effect, a piecewise linear approximation of the nonlinearity is inverted to obtain improved angular velocity tracking and inertia identification. Finally, to eliminate residual tracking error, an adaptive algorithm is developed in Section 5 and used for improved feedback linearization. Lyapunov analysis is used to show convergence of the angular velocity and inertia estimate errors. The approach is validated by experimental implementation.
2
Adaptive Control of a Planar Rotating Body Consider a rigid body constrained to rotate about a fixed axis. For t ≥ 0, the equation of
motion is given by ω˙ =
1 τ, J
(1)
where ω is the angular velocity of the body about its axis of rotation, J is the moment of inertia of the body about its axis of rotation, and τ is the applied torque. We assume that J > 0 is unknown. Let ν : [0, ∞) 7→ R denote the desired angular velocity of the body. We assume that ν is continuous. Defining the angular velocity error ω ˜ , ω − ν, it follows from (1) that ω ˜ satisfies 1 ω ˜˙ = −ν˙ + τ. J
(2)
The control objective is to determine τ such that ω ˜ (t) → 0 as t → ∞ for all initial conditions ω(0) and without knowledge of J. The following result provides an adaptive controller for angular velocity ˆ of J. We denote the error in the inertia estimate by J˜ , Jˆ − J. based on an estimate J(t) Theorem 1. Assume that ν is continuous and ν˙ is piecewise C 1 and bounded. Let k > 0 and q > 0, and consider the adaptation control law ˙ Jˆ = −q ν˙ ω ˜, τ
ˆ = −k ω ˜ + ν˙ J. 2
(3) (4)
Then, the zero equilibrium solution of the closed-loop dynamics of (2), (3) and (4) in error coordinates, given by k ν˙ ˜ ω ˜˙ = − ω ˜ + J, J J ˙ ˜ J = −q ν˙ ω ˜,
(5) (6)
ˆ ˜˙ = 0 is Lyapunov stable and satisfies ω ˜ (t) → 0 as t → ∞ for all ω(0) and J(0). Furthermore, lim J(t) t→∞
ˆ exists. and lim J(t) t→∞
Proof. Using (2), (3) and (4), we obtain the linear time-varying system given by (5) and (6). Since ν˙ is piecewise C 1 and bounded, the righthandside of (5) and (6) is piecewise C 1 in time and ˜ uniformly in time. Furthermore, [˜ ˜ = [0 0] is an equilibrium of (5), globally Lipschitz in ω ˜ and J, ω J] (6). To prove asymptotic tracking, consider the positive-definite Lyapunov candidate µ ¶ 1 1 2 2 ˜ , Jω ˜ + J˜ , V (˜ ω , J) 2 q
(7)
which does not depend explicitly on time and is radially unbounded. The derivative of V along the trajectories of the closed-loop system is given by 1 ˜ = −k ω ˜ 2, V˙ (˜ ω , J) ˜ 2 + ν˙ J˜ω ˜ + J˜J˜˙ = −k ω q
(8)
which shows that V˙ is negative semi-definite and is not an explicit function of time. Theorem 8.4 ˜ of [12] then implies that, for all initial conditions ω ˜ (0) and J(0), the solutions of equations (5) and ˜ ∈ R2 : ω (6) are bounded and approach the set E , V˙ −1 (0) = {[˜ ω J] ˜ = 0}. Hence, ω ˜ (t) → 0 as t → ∞. Since, V is globally positive definite and radially unbounded and V˙ is negative semi-definite, it follows that the system (5) and (6) is Lyapunov stable. ˜˙ Since ω ˜ (t) → 0 as t → ∞ and ν˙ is bounded, it follows from (6) that J(t) → 0 and thus ˆ˙ ˜ ˆ J(t) → 0 as t → ∞. Furthermore, ω ˜ (t) and J(t), and, hence, J(t), are bounded. Now, since ³ ´ ˜ ˜ V˙ (t) , V˙ ω ˜ (t), J(t) ≤ 0 and V (t) , V (˜ ω (t), J(t)) ≥ 0 for all t ≥ 0, it follows that lim V (t) exists. t→∞
Next, (7) can be rewritten along the solutions of (5) and (6) as £ ¤ J˜2 (t) = q 2V (t) − J ω ˜ 2 (t) .
(9)
Since lim V (t) exists and lim ω ˜ (t) = 0, it follows from (9) that t→∞
t→∞
lim J˜2 (t) = 2q lim V (t).
t→∞
t→∞
3
(10)
˜ is continuous, lim J(t) ˜ exists. Hence, lim J(t) ˆ exists. Therefore, since J(t) t→∞
t→∞
˙ Note that the control law given by (3) does not require knowledge of the inertia J. Although Jˆ converges to zero and Jˆ converges, Jˆ does not necessarily converge to the actual inertia J. We now give a sufficient condition under which Jˆ converges to J. The following lemma is needed. Lemma 1. Let g : [0, ∞) 7→ R and h : [0, ∞) 7→ R and assume that lim h(t) exists and t→∞
lim g(t)h(t) = 0.
(11)
t→∞
Furthermore, suppose that either lim g(t) 6= 0 or lim g(t) does not exist. Then, lim h(t) = 0. t→∞
t→∞
t→∞
Proof. First, consider the case in which lim g(t) 6= 0. Then, 0 = lim g(t)h(t) = lim g(t) lim h(t). t→∞
t→∞
t→∞
t→∞
Hence, lim h(t) = 0. t→∞
¯ , lim h(t) and assume that lim g(t) does not exist. Since lim h(t) exists, it follows Next, let h t→∞
t→∞
t→∞
¯ < ²1 . Similarly, it follows that, for every ²1 > 0, there exists t1 > 0 such that, for all t ≥ t1 , |h(t) − h| from (11) that, for every ²2 > 0, there exists t2 > 0 such that, for all t ≥ t2 , |g(t)h(t)| < ²2 . Now, since lim g(t) does not exist, there exists a positive constant κ such that, for every T > 0, there t→∞
exists T1 ≥ T such that |g(T1 )| ≥ κ. ¯ 6= 0 and let 0 < ²1 ≤ |h|/2. ¯ Now, assume that h Then, there exists t1 > 0 such that, for ¯ < ²1 ≤ |h|/2. ¯ ¯ all t ≥ t1 , |h(t) − h| Thus, |h(t)| > |h|/2 for all t ≥ t1 . Therefore, for all t > t1 , ¯ ¯ |g(t)h(t)| ≥ |g(t)||h|/2. Now, choose 0 < ²2 ≤ |h|κ/4. Then, (11) implies there exists t2 > 0 such ¯ that, for all t ≥ t2 , |g(t)h(t)| < ²2 ≤ |h|κ/4. Defining t3 , max{t1 , t2 }, it follows that, for all t > t3 , ¯ ¯ |g(t)||h|/2 ≤ |g(t)h(t)| < |h|κ/4. Thus, for all t > t3 , |g(t)| < κ/2. However, there exists T1 ≥ t3 ¯ = 0. such that |g(T1 )| ≥ κ, which is a contradiction. Hence h Theorem 2. Consider the closed-loop system consisting of (2) and the adaptive control law (3) and (4), where k > 0 and q > 0. Assume that ν˙ is piecewise continuous and bounded and either ˆ → J as t → ∞ for all ω(0) and J(0). ˆ lim ν(t) ˙ 6= 0 or lim ν(t) ˙ does not exist. Then, J(t)
t→∞
t→∞
Z Proof. Theorem 1 implies that ω ˜ (t) → 0 as t → ∞. Then, ω ˜ (t) − ω ˜ (0) =
t
ω ˜˙ (t)dt implies that
0
Z lim
t→∞ 0
t
ω ˜˙ (t)dt = −˜ ω (0).
(12)
Since ν˙ is piecewise continuous and bounded, (5) implies that ω ˜˙ (t) is globally piecewise uniformly continuous. Now, applying a generalized version of Barbalat’s Lemma given in Appendix B yields 4
lim ω ˜˙ (t) = 0. Therefore, it follows from (5) that
t→∞
˜ = 0. lim ν(t) ˙ J(t)
(13)
t→∞
˜ exists, and either lim ν(t) Since, by Theorem 1, lim J(t) ˙ 6= 0 or lim ν(t) ˙ does not exist, we obtain t→∞
t→∞
t→∞
˜ converges to zero. the result from Lemma 1 that J(t) To illustrate Theorem 1, consider the angular 0, ν(t) = 0.1, 2,
velocity command 0 ≤ t < 10, 10 ≤ t < 30, 30 ≤ t < ∞.
Note that ν(t) ˙ is piecewise continuous. The inertia of the planar rotating body is taken to be ˆ = 15.0 kg-m2 /rad2 . Let k = 10 kg-m2 /rad2 -sec J = 20.0 kg-m2 /rad2 , and its initial estimate is J(0) and q = 2.8 kg-m2 -sec2 /rad4 . The initial angular velocity error is given by ω ˜ (0) = 0.1 rad/s. The angular velocity tracking error, inertia estimate error, and applied input torque are shown in Figure 1. It can be seen that although Jˆ converges, it does not converge to J. However, ω ˜ converges to ˆ = −1 N-m/rad, zero. The torque is seen to have an initial transient with τ (0) = −k ω ˜ (0) + ν(0) ˙ J(0) where ν(0) ˙ = 0 rad/sec2 .
deg/sec
2
ω ν
1.5 1 0.5 0 0
5
10
15
20
25 Time [sec]
30
35
40
45
50
0
5
10
15
20
25 Time [sec]
30
35
40
45
50
0
5
10
15
20
25 Time [sec]
30
35
40
45
50
J estimate (kg−m2)
15.4 15.2 15 14.8
τ (N − m)
3 2 1 0 −1
Figure 1: Angular velocity, inertia estimate, and control torque for the planar rotating body tracking an angular velocity command
5
Next, we consider two command signals that satisfy the conditions given in Theorem 2, namely, 0, 0 ≤ t < 10, ν(t) = (t − 10), 10 ≤ t < ∞, and
deg/sec
30 ω ν
20 10 0
0
5
10
15
20
25
30
35
20
25
30
35
20
25
30
35
Time [sec]
J estimate (kg−m2)
22 20 18 16 14
0
5
10
15 Time [sec]
τ (N − m)
30 20 10 0 −10
0
5
10
15 Time [sec]
Figure 2: Angular velocities, inertia estimate, and control torque for the planar rotating body tracking an unbounded angular velocity command 5 (t − 2 bt/2c), ν(t) = 5 (2 − t + 2 bt/ c), 2
2n ≤ t < 2n + 1, 2n + 1 < t ≤ 2n + 2,
where n is a nonnegative integer. The initial conditions and gains are the same as in the previous example. The angular velocity tracking error, inertia estimate error, and applied input torque are shown in Figure 2 and 3. In both cases the inertia estimate converges to the actual value.
3 3.1
Triaxial Attitude Control Testbed Mechanical Setup The testbed used for experiments in this paper is based on a spherical air bearing manufactured
by Space Electronics, Inc., Berlin, CT. The aluminum sphere of diameter 11 inch floats on a thin film of air that exits holes located in the surface of the cup. Air at 70 psi is supplied to the cup by
6
deg/sec
6 ω ν
4 2 0
0
5
10
15
20
25 Time [sec]
30
35
40
45
50
0
5
10
15
20
25 Time [sec]
30
35
40
45
50
0
5
10
15
20
25 Time [sec]
30
35
40
45
50
J estimate (kg−m2)
22 20 18 16 14
τ (N − m)
200 100 0 −100
Figure 3: Angular velocities, inertia estimate, and control torque for the planar rotating body tracking a triangle angular velocity command means of a hose that passes through the center of the vertical support.
A one-piece 32 inch stainless steel shaft passes through the center of the sphere and extends between a pair of 24-inch circular mounting plates. This shaft is designed to withstand stresses that might otherwise distort the sphere. All mounting plates are made from 1/4-inch aluminum alloy with 1/4-20 holes tapped in a 1 inch grid. The 14-inch aluminum extension shafts connect the circular mounting plates to the 30-inch × 30-inch square mounting plates. The distance between the square plates is thus 5 feet. All shafts have hollow interior to allow wiring through the sphere and between any two points. Access holes of size 1 inch × 2 inch are cut into the plates and shafts to allow cable jacks and plugs to be passed between connection points. The total weight of the levitated components described thus far is 180 lb. At 70 psi air pressure, the air bearing can support an additional 180 lb of components.
The spherical air bearing allows unrestricted motion in yaw (motion about the vertical axis) and roll (motion about the longitudinal shaft axis). The plates and shafts are designed to allow ±45◦ pitch (motion about a horizontal axis) at all roll and yaw angles.
7
Figure 4: Triaxial Air Bearing Testbed. This testbed, which is based on a spherical air bearing, allows low friction, three-dimensional motion with unrestricted roll and yaw and ±45◦ pitch. Once the main components are mounted, additional masses can be added to modify the final mass distribution. For planar rotation experiments, the center of mass is located in the vertical line that passes through the rotational center. When the center of mass is not located at the rotational center, this mass distribution balances pitch motion, provides pendulum dynamics in roll, and yields predominantly yaw dynamics for the 1-dimensional experiments. For 3-dimensional experiments, the center of mass can be located at the rotational center to balance the system in both roll and pitch.
3.2
Control Hardware For attitude control experiments, the triaxial attitude control testbed uses on-board sensors.
A three-axis magnetometer determines the direction of the Earth’s magnetic north; a three-axis accelerometer measures gravitational and centripetal acceleration; and a three-axis gyro measures angular velocity. For the present paper only the gyros are needed.
The three-axis gyro is comprised of three Gyrochip Horizon rate sensors manufactured by Systron Donner, Concord, CA. The input range of these sensors is ±90 deg/sec and, according to specifications, their bandwidth is greater than 18 Hz. Under static conditions, that is, ω = 0, we measured the rms gyro noise to be about 1.3 mV, which corresponds to .06 deg/sec. Since the gyro measurement
8
range is 0 V to 5 V, the sensor dynamic range is found to be 71.7 dB, or 12 analog-digital conversion bits. Operation of fan thrusters does not affect the gyro noise significantly.
For real-time on-board processing, we use an embedded processor developed by Quanser Consulting. This processor is based on a 586 processor with 256 MB RAM, 4 GB solid state hard disk, and Multi-Q I/O boards allowing up to 24 A/D channels, 24 D/A channels, and 16 encoder channels. The A/D and D/A channels have a resolution of 13 bits over a ±5 V range. The A/D sampling occurs sequentially with an acquisition time of 20 µsec per channel, while the D/A conversion also occurs sequentially with a latency of 5 µsec per channel. The operating system is based on the Quanser Consulting WinCon real-time controller, which is compatible with the MathWorks RealTime Workshop for implementing controllers programmed in Simulink. Communication with the host PC for experiment monitoring, parameter modification, and data acquisition is accomplished through a wireless ethernet connection.
For control actuation the triaxial attitude control testbed uses propeller thrusters. The experiments described here use four propeller thrusters. These thrusters are based on Maxon motors and Copley amplifiers. Without the encoders mounted, these motors have a dual protruding shaft to which a pair of propellers is mounted to obtain direction-symmetric thrust. The Copley amplifiers for the thrusters are operated in velocity mode to provide a commandable torque.
4 4.1
Experimental Results Preliminary Analysis The adaptive control algorithm described in Section 2 was implemented on the triaxial attitude
control testbed. In this section, we detail our experimental results and touch upon some implementation issues. As already mentioned we consider only yaw motion of the testbed with thrusters used for actuation and gyro used for yaw-rate sensing.
First, we have ω = Kgyro Vgyro ,
τ = Kfan Vfan , 9
(14)
where Vgyro is the voltage output of the gyro, Kgyro is the conversion coefficient from Vgyro in volts to ω in deg/sec, Vfan is the voltage input to the thruster amplifiers, and Kfan is the conversion coefficient from Vfan in volts to the control torque τ in N-m. From equation (1) we see that V˙ gyro = Vfan /J 0 , where the scaled inertia J 0 , JKgyro /Kfan . Note that the units of J 0 are sec. We define Vref , ν/Kgyro and V˜ , Vgyro − Vref . We can thus rewrite (3) as Vfan = −k 0 V˜ + V˙ ref Jˆ0 ,
(15)
where k 0 , kKgyro Kfan and Jˆ0 is the estimate of J 0 . The adaptive law (4) can be written as ˙ Jˆ0 = −q 0 V˙ ref V˜ ,
(16)
3 /K where q 0 , qKgyro fan . Comparing (4) and (5) with (15) and (16), it follows that the conversion
coefficients are incorporated within the constants q 0 and k 0 . It can be seen that k 0 is dimensionless and q 0 has units of V/sec2 . Hence, we can apply the adaptive control algorithm of Section 2 without further calibration. However, to relate our results to physical motion, we calibrated the gyro voltage and found Kgyro = 45.5 deg/V-sec. For the remainder of this section we view Vfan as the control signal.
4.2
Control Experiments When ν is constant, the adaptive controller specializes to the proportional controller Vfan = −k 0 V˜ .
(17)
Since the plant (1) is an integrator, the closed-loop system with the proportional controller (17) yields zero steady-state error for step commands.
The angular velocity ω(t) for the sinusoidal command ν(t) = 10 sin .2t and a proportional gain of k 0 = 20 sec/V2 is shown in Figure 5. The angular velocity ω(t) converges to a periodic signal with rms value of about 2.6 deg/sec.
Now we use the adaptive controller for the same command ν(t) = 10 sin .2t deg/sec. Figure 6 shows ω(t) and ν(t) for k 0 = 3, q 0 = 1000 sec/V2 , and initial scaled inertia estimate Jˆ0 (0) = 0 sec. The angular velocity error ω ˜ (t) shown in Figure 7 converges to a periodic signal with rms value of 10
ω ν
ω ν
10
8
8
6
6
4
4
2
2 deg/sec
deg/sec
10
0
0
−2
−2
−4
−4
−6
−6
−8
−8
−10
−10 0
50
100
150
200
0
50
100
Time (sec)
150
200
Time (sec)
Figure 5: Angular velocities ω(t) and ν(t) us-
Figure 6:
Angular velocities ω(t) and
ing proportional controller for ν(t) = 10 sin .2t
ν(t) using the adaptive controller for ν =
deg/sec
10 sin .2t deg/sec
about .25 deg/sec and mean value of 0.0061 deg/sec. Figure 8 gives the scaled inertia estimates obtained with Jˆ0 (0) = 100 sec and Jˆ0 (0) = 0 sec. The scaled inertia estimate converges to a periodic signal with mean value about 37.9 sec and a peak-to-peak amplitude of about 4.5 sec. Simulations and experiments (not shown) indicate that the value of the inertia estimate varies with the frequency of the command signal.
4.3
Actuator Nonlinearity The oscillation of Jˆ0 in Figure 8 suggests the possible presence of an actuator nonlinearity. We
therefore plotted V˙ gyro in V/sec (obtained by numerically differentiating the measured Vgyro ) versus Vfan in V as computed by the adaptive algorithm during an experiment. This plot, shown in Figure 9, shows that V˙ gyro is a nonlinear function of the computed moment Vfan , that is, V˙ gyro = N (Vfan ).
(18)
The data were fit by the cubic polynomial N (x) = 0.1677x3 + 0.0117x2 + 0.6747x + 0.0078,
11
(19)
1 80
0.5
70
60
0 50
−0.5
40
30
−1 20
−1.5 10
−2
0
0
50
100
150
200
0
50
100
150
200
Time [sec]
Time [sec]
Figure 7: Angular velocity tracking error us-
Figure 8:
Scaled inertia estimate using
ing the adaptive controller for ν(t) = 10 sin .2t
the adaptive controller for ν(t) = 10 sin .2t
deg/sec
ˆ ˆ deg/sec, J(0) = 0 sec, and J(0) = 100 sec
as shown in Figure 9. From (18), (4), (14), we have à ! −k ω ˜ + ν˙ Jˆ ω˙ = Kgyro N . Kfan
(20)
Hence, from (1) the moment input is given by à τ = JKgyro N
! −k ω ˜ + ν˙ Jˆ . Kfan
(21)
To check whether the nonlinearity (19) could cause the oscillations shown in Figure 8, the cubic nonlinearity (19) is included in a simulation of the adaptive closed-loop system for the command ν(t) = 10 sin .2t deg/sec. Figures 10 and 11 suggest that this nonlinearity could indeed cause oscillations similar to those observed from the testbed. The angular velocity error ω ˜ , shown in Figure 10, converges to a periodic signal with rms value of about .14 deg/sec and mean value of 0.0066 deg/sec. The scaled inertia estimate converges to a periodic signal with value of 39.15 sec and a peak-to-peak amplitude of about 3 sec. For a periodic reference signal, Figures 10 and 11 represent a typical result obtained for ω ˜ (t) and ˆ J(t). Noting the difficulty involved in inverting the cubic, we obtain a piecewise linear approximation of the cubic nonlinearity, and invert this piecewise linear function. The cubic nonlinearity and the inverse of the piecewise linear approximation are shown in Figure 12. 12
Figure 9: V˙ gyro vs. Vfan for ν(t) = 10 sin .1t deg/sec
45
0.5
40
35
0
30
25
−0.5 20
15
−1 10
5
−1.5
0
50
100
150
0
200
Time [sec]
0
50
100
150
200
Time [sec]
Figure 10: Simulated angular velocity error
Figure 11: Simulated scaled inertia estimate
with actuator nonlinearity
with actuator nonlinearity
13
3 nonlinearity piecewise linear inverse
2
y
1
0
−1
−2
−3 −3
−2
−1
0 x
1
2
3
Figure 12: Cubic actuator nonlinearity and an approximate piecewise linear inverse The simulated response of the closed-loop system is shown in figures 13 and 14. From these plots it can be seen that the inverse function approximately linearizes the nonlinearity and reduces oscillations in the angular velocity error and scaled inertia estimate. The rms value of ω ˜ is about .02 deg/sec, and the mean value is 0.01 deg/sec, which is below the noise level of the gyro. The mean value of the scaled inertia estimate is about 40.5 sec with a peak-to-peak amplitude of about .9 sec. Furthermore, simulations show that the scaled inertia estimates converge to the same value for different values of the frequency of ν(t).
The inverted actuator nonlinearity with the adaptive controller is implemented on the triaxial testbed and the results are shown in figures 15, 16, and 17. The rms value of ω ˜ is about .15 deg/sec and the mean value is 0.011 deg/sec. The mean value of the scaled inertia is about 39.6 sec and the peak-to-peak amplitude of oscillation is about 2.5 sec. Note that while oscillations in the angular velocity error and inertia estimates are reduced, they are not entirely eliminated. Sensor noise may account for some part of the oscillations in Figure 15.
4.4
Inertia of the Triaxial Testbed To determine the actual inertia in kg-m2 /rad2 , test masses are added at known distances from
the rotational axis. Let ∆J, J 0 and J 00 denote the change in inertia, the scaled inertia, and the scaled
14
45
0.5
40
35
0
30
25
−0.5 20
15
−1 10
5
−1.5
0
50
100
150
0
200
0
50
100
Time [sec]
150
200
Time [sec]
Figure 13: Simulated angular velocity error
Figure 14: Simulated scaled inertia estimate
with inverted actuator nonlinearity
with inverted actuator nonlinearity
1.5
45
1
40
35
0.5 30
0 25
−0.5 20
−1 15
−1.5 10
−2
−2.5
5
0
50
100
150
0
200
0
50
100
150
200
Time [sec]
Time [sec]
Figure 15: Experimental angular velocity er-
Figure 16: Experimental scaled inertia esti-
ror with inverted actuator nonlinearity
mate with inverted actuator nonlinearity
15
2
1.5
1
Vref [volts]
0.5
0
−0.5
−1
−1.5
−2
0
50
100
150
200
Time [sec]
Figure 17: Experimental control signal with inverted actuator nonlinearity inertia from an experiment with added test masses, respectively. Hence J 00 = (J + ∆J)
Kgyro , Kfan
(22)
and the inertia in kg-m2 /rad2 is given by J=
−J 0 ∆J . J 0 − J 00
(23)
A total mass of 5.11 kg is added to the two square mounting plates of the testbed, each at a distance of 0.75 m from the rotational axis. Hence, ∆J = 2.87 kg-m2 /rad2 . Since the scaled inertia estimate Jˆ00 is about 39.6 sec, it follows from (23) that the actual moment of inertia is J = 66.6 kg-m2 /rad2 .
5
Adaptive Feedback Linearization The single degree of freedom attitude dynamics with nonlinear actuation are modeled by ω˙ =
1 h(u), J
(24)
where ω is the angular velocity, u is the control signal, J is the moment of inertia, and h: R 7→ R is an unknown one-to-one nonlinear input mapping. With these definitions, the torque is τ = h(u). ˆ : R 7→ R be a one-to-one approximation of h with inverse h ˆ −1 . For example, h ˆ may denote Let h the inverted piecewise linear approximation of the cubic nonlinear fit of h as shown in Figure 12. An 16
approximately linearizing feedback control law is then given by ˆ −1 (v), u=h
(25)
ˆ where v , h(u) is the effective control signal. Define the model error ∆ : R 7→ R by ˆ ∆(u) , h(u) − h(u)
(26)
ˆ −1 (v)) = h(h ˆ −1 (v)) − v and τ = h(u) = ∆(u) + v. Then so that ∆(h ω˙ =
1 ˆ −1 1 ˆ −1 (v))]. h(h (v)) = [v + ∆(h J J
(27)
1 ˆ −1 (v)) − vc ], [va + ∆(h J
(28)
Now set v = va − vc so that ω˙ =
where va is the torque specified by the adaptive algorithm (4), (5) for the system (1), given by ˆ va = −k ω ˜ + ν(t) ˙ J,
(29)
ˆ −1 (v)). and vc is the torque used to cancel the model error ∆(h Assumption 5.1 There exists a known function σ: R → Rl and an unknown vector M ∈ Rl such that, for all v ∈ R, ˆ −1 (v)) = M T σ(v). ∆(h
(30)
Using (30), the dynamic equation (27) can be written as ω˙ =
1 [va + M T σ(v) − vc ]. J
(31)
To approximately cancel M T σ(v) in (28) we use an estimate of M T σ(v) given by ˆ T σ(v), vc = M
(32)
ˆ ∈ Rl is an estimate of M . Hence, from (31) it follows that where M ω˙ =
1 ˆ )T σ(v)], [va + (M − M J
(33)
where v is a solution of (32), which can be written as ˆ Tσ(v) = va . v+M
(34)
ˆ is updated according to the adaptation law The estimate M ˆ˙ = G˜ M ω σ(v), 17
(35)
˜ ,M ˆ − M , (35) where G ∈ Rl×l is a positive-definite adaptation gain matrix. Defining the error M can be written as ˜˙ = G˜ M ω σ(v).
(36)
In summary, the control input u is computed from (25), where v is obtained from solving (34) ˆ in (34) and Jˆ in (29) are solutions of (35) and (3). with va in (34) given by (29). The parameters M
6
Analysis of the Adaptive Feedback Linearization Controller In this section, we analyze the stability of the adaptive feedback linearization controller and
present a result on global convergence of the angular velocity error ω ˜ . Note that, since (34) is implicit in v, we need to solve an algebraic equation in v to compute the control input u. Hence, (34) must have at least one real solution. Furthermore, since this solution v, and hence u, may not ˆ , the vector field of the closed-loop system might be a continuous function of the states ω, Jˆ and M not be continuous with respect to the states. Thus, we require that the closed-loop system have at least one generalized solution in the sense of [17, 18]. ˆ ∈ Rl , Theorem 3. Assume that ν is C 1 , ν˙ is bounded, and that, for almost all va ∈ R and M there exists v ∈ R satisfying (34). Consider the system (24), the control (25), and the adaptation law (3), (4) and (35), where k > 0, q > 0, and G is positive definite. Consider the closed-loop dynamics (3), (24), (34) and (36) written in error coordinates as ω ˜˙ =
1 ˜ T σ(v)], [−k ω ˜ + ν˙ J˜ − M J
(37)
J˜˙ = −q ν˙ ω ˜, ˜˙ M
(38)
= G˜ ω σ(v),
(39)
where v = v(t) ∈ R satisfies ˜ + M )T σ(v) = −k ω v + (M ˜ + ν( ˙ J˜ + J),
(40)
˜ ˜ (0). Then, the zero and assume that (37)–(40) has a generalized solution for all ω ˜ (0), J(0), and M ˜˙ = 0, and equilibrium solution of (37)–(40) is Lyapunov stable. Furthermore, lim ω ˜ (t) = 0, lim J(t) t→∞
˜˙ (t) = 0 for all ω ˜ ˜ (0). lim M ˜ (0), J(0) and M
t→∞
t→∞
Proof. Consider the radially unbounded, positive-definite Lyapunov candidate 1 1 ˜ T −1 ˜ ˜M ˜) = Jω V (˜ ω , J, ˜ 2 + J˜2 + M G M. 2 2q 2 18
(41)
Then along a trajectory of the system, 1 ˜M ˜ ) = Jω ˜ T G−1 M. ˜˙ V˙ (˜ ω , J, ˜ω ˜˙ + J˜J˜˙ + M q
(42)
Substituting (37), (38) and (39) into (42), yields ˜M ˜ ) = −k ω V˙ (˜ ω , J, ˜ 2 ≤ 0, which shows that V˙ is negative semidefinite and is not an explicit function of time. Hence, the zero equilibrium solution of (37)–(40) is Lyapunov stable. ˜ and M ˜ (0), the solutions Next, Theorem 8.4 of [12] implies that, for all initial conditions ω ˜ (0), J(0) ˜ ] ∈ R2+l : of equations (37), (38) and (39) are bounded and approach the set E , V˙ −1 (0) = {[˜ ω J˜ M ω ˜ = 0}. Hence, ω ˜ (t) → 0 as t → ∞. Note that Theorem 8.4 of [12] assumes that the vector field of the closed-loop system, given by (37), (38) and (39), is locally Lipschitz for all t ≥ 0. However, it can be shown that Theorem 8.4 of [12] is valid if this vector field is bounded over every compact subset of Rl+2 , for all t ≥ 0. Since ν is C 1 , the image of the function given by vector field of the system given by (37)–(39) is bounded, over every compact subset of Rl+2 . Hence, Theorem 8.4 of [12] is applicable to the system given by (37)–(39). ˜˙ → 0 and Since ω ˜ (t) → 0 as t → ∞ and ν˙ is bounded, it follows from (38) and (39) that J(t) ˜˙ (t) → 0 as t → ∞. Thus J(t) ˆ˙ → 0 and M ˆ˙ (t) → 0 as t → ∞. M Remark 1. Since the system given by (37), (38) and (39) is non-Lipschitzian, the uniqueness of the solution cannot be guaranteed.
7
Implementation of the Adaptive Feedback Linearization Controller In this section, we discuss implementation issues concerning the adaptive feedback linearization
controller and compare the simulation with experimental results. It may be noted that the adaptive feedback linearization controller involves an algebraic equation given by (34) with at least one real ˆ ∈ Rl . Since (34) can have more than one real root, the controller solution for almost all va ∈ R and M can track any one of the real roots. We next present simulation and experimental results obtained with the adaptive feedback linearization controller. The control parameters in the adaptive control law are chosen to be k = 70, 19
15
0.5
ν ω
0
10 −0.5
−1
5
Deg/sec
Deg/sec
−1.5
0
−2
−2.5
−5 −3
−3.5
−10 −4
−15
0
50
100
150 Time [sec]
200
250
300
−4.5
0
50
100
150 Time [sec]
200
250
Figure 18: Simulated angular velocities ω(t)
Figure 19: Simulated angular velocity error
and ν(t) using adaptive feedback linearization
ω ˜ with adaptive feedback linearization for
for ν(t) = 10 sin(0.1t)
ν(t) = 10 sin(0.1t)
15
300
8
ω ν
6
10 4
5
Deg/sec
2
0
0
−2
−5 −4
−10 −6
−15
−8
0
50
100
150 Time [sec]
200
250
300
0
50
100
150 Time [sec]
200
250
Figure 20: Experimental values for angular
Figure 21: Experimental values for angular
velocities ω(t) and ν(t) using adaptive feed-
velocity error ω ˜ with adaptive feedback lin-
back linearization for ν(t) = 10 sin(0.1t)
earization for ν(t) = 10 sin(0.1t)
20
300
q = 5 and G = I4×4 . Figure 18 shows simulation results for tracking the reference signal ν(t). The simulated angular velocity tracking error given by ω ˜ (t) is shown in Figure 19. Next, the adaptive feedback linearization controller is implemented on the TACT. The angular velocity is plotted in Figure 20, while the angular velocity tracking error ω ˜ (t) is plotted in Figure 21. As can be seen, the angular velocity ω(t) tracks the reference signal ν(t), and the angular velocity error ω ˜ (t) converges to zero. In Figures 22 and 23, experimental anomalies can be seen. Note the transient excursion away from zero, at around 300 seconds in the two plots. The system soon recovers and the angular velocity error ω ˜ (t) converges to zero again. The behavior is similar to the phenomenon of bursting observed in adaptive algorithms [19, 20]. One possible explanation for the observed excursion is the presence of noise in the output signal ω(t). Specifically, if ω(t) = ωt (t) + d(t), where ωt (t) is the true value of ˜ T σ(v)d(t), where v is ω(t) and d(t) is the noise present in the signal, then V˙ (·) contains the term M a real solution of ˜ + M )T σ(v) = −k(˜ v + (M ω + d) + ν( ˙ J˜ + J).
(43)
In (43) with small values of ω ˜ , the noise becomes significant. Since v does not depend continuously ˜ T σ(v)d(t) can be large for small values of d(t), causing V˙ (·) to become on d(t), the magnitude of M positive. To test the hypothesis that the excursion observed in angular velocity error is caused due to noise in the measurements, simulations were performed with noise added to the output ω(t). Figures 24 and 25 show simulation plots for tracking of ν(t) and angular velocity error ω ˜ (t), respectively, for the plant with noise at output. The similarity observed between Figures 22 and 24 and Figures 23 and 25 suggest that the bursting observed in the output is due to noisy angular velocity measurements. A possible solution to the problem of bursting is to use a deadzone to disable adaptation when the angular velocity error ω ˜ (t) drops below a chosen threshold [21, 22].
8
Conclusions An adaptive feedback control algorithm was developed to provide global tracking of commanded
angular velocity signals. The algorithm assumes no apriori knowledge of the inertia and is thus unconditionally robust with respect to this parametric uncertainty. It was shown using Lyapunov methods
21
8
15 ω ν
6 10
4 5
Deg/sec
Deg/sec
2
0
0
−2 −5
−4 −10
−6
−15
0
100
200
300 Time [sec]
400
500
−8
600
0
100
200
300 Time [sec]
400
500
Figure 22: Experimental values for angular
Figure 23: Experimental values for angular
velocities ω(t) and ν(t) using adaptive feed-
velocity error ω ˜ (t) with adaptive feedback lin-
back linearization for ν(t) = 10 sin(0.1t) with
earization for ν(t) = 10 sin(0.1t) with noise
noise effect
effect
600
8
15 ω ν
6 10
4 5
Deg/sec
Deg/sec
2
0
0
−2 −5
−4 −10
−6
−15
0
100
200
300 Time [sec]
400
500
600
−8
0
100
200
300 Time [sec]
400
500
Figure 24: Simulated angular velocities ω(t)
Figure 25: Simulated angular velocity error
and ν(t) using adaptive feedback linearization
ω ˜ (t) with adaptive feedback linearization for
for ν(t) = 10 sin(0.1t) with noise effect
ν(t) = 10 sin(0.1t) with noise effect
22
600
that the angular velocity tracking error converges to zero. Furthermore, the control algorithm was used to identify the inertia when the commanded angular velocity signal has piecewise continuous derivative and does not converge to zero. Numerical simulations demonstrated tracking and identification of the inertia under such signals.
The adaptive control algorithm was implemented on the Triaxial Attitude Control Testbed for planar rotation. Improved results for angular velocity tracking were achieved for constant and sinusoidal signals using the adaptive control algorithm compared to the proportional controller. Inertia estimates were obtained using the adaptive controller for command signals with characteristics as mentioned above. An actuator nonlinearity was identified and its effects studied by simulation. A piecewise linear approximation of the nonlinearity was inverted and this inverse was experimentally found to improve angular velocity tracking by 37.5% and inertia identification by 33.3% for sinusoidal commands.
Finally, an adaptive feedback linearization technique was used to compensate for the torque input nonlinearity, and Lyapunov stability analysis was used to demonstrate convergence of the angular velocity error. The resulting controller was tested on the Triaxial Attitude Control Testbed. Future work will focus on extensions to three-dimensional rotation.
9
Acknowledgements We thank Dr. Naira Hovakimyan for helpful discussions concerning adaptive feedback lineariza-
tion.
References [1] R. W. Brockett, “Asymptotic Stability and Feedback Stabilization,” in R. W. Brockett, R. S. Millman and H. J. Sussmann, Eds., Differential Geometric Control Theory, Progress in Mathematics, Vol. 27, pp. 181-191, 1983.
23
[2] D. Aeyels and M. Szafranski, “Comments on the Stabilizability of the Angular Velocity of a Rigid Body,” Sys. Contr. Lett., Vol. 10, pp. 35-39, 1988. [3] E. D. Sontag and H. J. Sussmann, “Further Comments on the Stabilizability of the Angular Velocity of a Rigid Body,” Sys. Contr. Lett., Vol. 12, pp. 213-217, 1988. [4] C. I. Byrnes and A. Isidori, “New Results and Examples in Nonlinear Feedback Stabilization,” Sys. Contr. Lett., Vol. 12, pp. 437-442, 1989. [5] C-J. Wan and D. Bernstein, “Nonlinear Feedback Control with Global Stabilization,” Dynamics and Control, Vol. 5, pp. 321-346, 1995. [6] R. Outbib and G. Sallet, “Stabilizability of the Angular Velocity of a Rigid Body Revisited,” Sys. Contr. Lett., Vol. 18, pp. 93-98, 1992. [7] J. L. Junkins and J. D. Turner, Optimal Spacecraft Rotational Maneuvers, Elsevier Scientific Publishing Company, NY, 1985. [8] K. D. Bilimoria and B. Wie, “Time-Optimal Three-Axis Reorientation of a Rigid Spacecraft,” J. Guid. Contr. Dyn., Vol. 16, No. 3, 1993. [9] T. A. W. Dwyer, III, and A. L. Batten, “Exact Spacecraft Detumbling and Reorientation Maneuvers with Gimbaled Thrusters and Reaction Wheels,” Astronautical Sci., Vol. 33, pp. 217-232, 1985. [10] J. Dzielski, E. Bergmann, J. Paradiso, D. Rowell and D. Wormley, “Approach to Control Moment Gyroscope Steering Using Feedback Linearization,” J. Guid. Contr., Vol. 14, pp. 96-106, 1991. [11] J. Ahmed, V. T. Coppola and D. S. Bernstein, “Asymptotic Tracking of Spacecraft Attitude Motion with Inertia Matrix Identification,” J. Guid. Contr. Dyn., Vol. 21, No. 5, pp. 684-691, 1998 [12] H. K. Khalil, Nonlinear Systems, Prentice Hall, Upper Sadle River, NJ, 2002. [13] K. J. Astrom and B. Wittenmark, Adaptive Control, Addison-Wesley, Reading, MA, 2nd edition, 1995. [14] K. S. Narendra and A. M. Annaswamy, Stable Adaptive Systems, Prentice Hall, Englewood Cliffs, NJ, 1989. 24
[15] P. A. Ioannou and J. Sun, Robust Adaptive Control, Prentice Hall, NJ, 1996. [16] N. Hovakimyan, F. Nardi, A. Calise, and N. Kim, “Adaptive Output Feedback Control of Uncertain Nonlinear Systems using Single Hidden Layer Neural Networks,” IEEE Trans. Neural Networks, Vol. 13, pp.1420-1431, 2002. [17] J. P. Aubin and A. Cellina, Differential Inclusions – Set Valued Maps and Viability Theory, Springer-Verlag, 1984. [18] M. Kunze, Non-Smooth Dynamical Systems, Springer, Berlin Heidelberg NY, 2000. [19] B. A. Huberman and E. Lumer, “Dynamics of Adaptive Systems,” IEEE Trans. Circ. & Sys., Vol. 37, No. 4, pp. 547-550, 1990. [20] G. J. Rey, R. R. Bitmead and C. R. Johnson, “The Dynamics of Bursting in Simple Adaptive Feedback Systems with Leakage,” IEEE Trans. Circ. & Sys., Vol. 38, No. 5, pp. 476-488, 1991. [21] J. M. Krause and M. J. Englehart, “An Adaptive Deadzone Technique with a Burst Alleviation Example,” IEEE Trans. Automatic Control, Vol. 38, No. 9, pp. 1405-1409, 1993. [22] K. S. Tsakalis, “Performance Limitations of Adaptive Parameter Estimation and System Identification Algorithms in the Absence of Excitation,” Automatica, Vol. 32, No. 4, pp. 549-560, 1996.
Appendix A Definition 1. Let ψ : [0, ∞) 7→ Rn and let {ti }∞ i=1 be an increasing sequence in [0, ∞) such that inf i∈Z+ (ti+1 − ti ) > 0. Let k · k denote a norm on Rn . Then ψ is globally piecewise uniformly continuous if there exists δ : [0, ∞) 7→ [0, ∞) such that, for every i ∈ Z+ and ² > 0, kψ(t) − ψ(t0 )k < ² for all t, t0 ∈ [ti , ti+1 ), such that |t − t0 | < δ(²).
Appendix B Lemma 2. Let ψ : [0, ∞) 7→ Rn be globally piecewise uniformly continuous and assume that R∞ 0
ψ(τ )dτ exists. Then ψ(t) → 0 as t → ∞.
25
Proof. It suffices to consider n = 1. Suppose ψ(t) does not converge to zero as t → ∞. Then, there exists a positive constant k such that, for every T > 0, there exists T1 > T such that |ψ(T1 )| ≥ k. Next, let {ti }∞ i=1 be the increasing sequence of points of discontinuity of ψ as in Definition 1. Let T , inf i∈Z+ (ti+1 − ti ), and let j : [0, ∞) 7→ Z+ be given by j(t) , i,
ti ≤ t < ti+1 , i ∈ Z+ .
(44)
The function j(t) gives the index of the interval in which t resides. Thus, T1 ∈ [tj(T1 ) , tj(T1 )+1 ). Furthermore, note that either T1 − tj(T1 ) < tj(T1 )+1 − T1 or T1 − tj(T1 ) ≥ tj(T1 )+1 − T1 . Assume that T1 −tj(T1 ) < tj(T1 )+1 −T1 . Now, since ψ(t) is globally piecewise uniformly continuous, there exists δ ∈ (0, T /2] such that, for every τ ∈ (0, δ], |ψ(T1 + τ ) − ψ(T1 )| < k2 . Hence, for every t ∈ [T1 , T1 + δ], |ψ(t)| = |ψ(t) − ψ(T1 ) + ψ(T1 )|, ≥ |ψ(T1 )| − |ψ(t) − ψ(T1 )|, > k−
1 k = k. 2 2
(45)
Note that ψ(t) has the same sign for all t ∈ [T1 , T1 + δ]. Thus, ¯Z ¯ ¯ ¯
T1 +δ
T1
¯ Z ¯ ψ(t)dt¯¯ =
T1 +δ
T1
1 |ψ(t)| dt > kδ. 2
(46)
It can similarly be shown that, if T1 − tj(T1 ) ≥ tj(T1 )+1 − T1 , then there exists δ ∈ (0, T /2] such that ¯Z ¯ ¯ ¯
¯ ¯ 1 ψ(t)dt¯¯ > kδ. 2 T1 −δ
Z Hence, denoting g(t) , 0
T1
(47)
t
ψ(t)dt, (46) and (47) imply that, for every T > 0, there exist T1 ≥ T
and positive constants k and δ ∈ (0, T /2] such that either 1 |g(T1 + δ) − g(T1 )| > kδ 2 or 1 |g(T1 − δ) − g(T1 )| > kδ. 2 Therefore, lim g(t) does not exist, which is a contradiction. t→∞
26