Comparison of Repetitive Control Schemes for a DC Servo Motor

With four different schemes being proposed, one may wonder which scheme is superior. In terms of their long-term performance using an infinite number of terms, each is identical. As proven, asymptotic perfect model following can be assured using adaptive control techniques so long as the ideal input can be expressed as a known function matrix or basis function, W(t), times a constant but unknown matrix [3-11], K:


Introduction
Since repetitive controllers were first proposed [1], several variations have been proposed [2]. The four of which the author is aware include the following:

Repetitive Control
Each cycle is broken down into N time-slots. The ideal input (defined as the input required to force the desired motion) is then approximated as a constant during each time slot. The adaptive controller estimates these N constants.

Bilinear Repetitive Control
Instead of approximating the ideal input as a constant during each time slot, it is approximated as a line: U ideal =c 0 +c 1 τ (1) where τ measures the time into the present time slot going from 0 to 1. By using a more accurate approximation, better tracking should result at the cost of estimating more parameters.

Polynomial Repetitive Control
Still further improvements in tracking accuracy can be obtained by using higher-order polynomials during each time slot: U ideal =c 0 +c 1 +c 2 τ 2 (2)

Fourier Repetitive Control
Alternatively, since the ideal input is periodic, it can be expressed in terms of its Fourier series: U ideal =b 0 +∑((a n sin(nωt)+b n cos(nωt)) where ω is the fundamental frequency of the periodic motion.
With four different schemes being proposed, one may wonder which scheme is superior. In terms of their long-term performance using an infinite number of terms, each is identical. As proven, asymptotic perfect model following can be assured using adaptive control techniques so long as the ideal input can be expressed as a known function matrix or basis function, W(t), times a constant but unknown matrix [3][4][5][6][7][8][9][10][11], K: Each of the proposed repetitive control schemes falls into this category. For example, W(t) for a repetitive controller consists of N delta functions: one per time slot. Similarly, W(t) for a Fourier repetitive controller consists of the harmonics of the repetition frequency.
Since each of the proposed repetitive control schemes can be described, each assures asymptotic perfect tracking. Likewise, any comparison must be based upon the performance in finite time and/ or using a finite dimensional W(t) and K. Such a comparison is made in this paper. This paper is organized as follows: • In Section II, the DC servo motor is presented along with the repetitive control law with a generic basis function is derived for a DC servo motor.
• In Section III, the effect of using a finite number of terms on the tracking accuracy is presented. Unfortunately, this accuracy depends upon the particular motor and the particular path being followed. For the sake of comparison, therefore, two waveforms are selected: a 1 Hz sine wave and a 1 Hz half-wave rectified sine wave.
• In Section IV, results and conclusions are presented.

Hardware set up
Clifton DC Servo Motor AMC 30A8T power amplifier PIC microcontroller.

Set Point
0.5 Hz Sine Wave (best case) 0.5 Hz Half Rectified Sine Wave (impulse in 2nd derivative).

Repetitive control
The ideal input is estimated using hyperstability-based MRAC [12]. For a DC servo motor, the dynamics are approximately: If this plant is used with a PI-type parameter estimation, a type-2 system will be created in the parameter estimates, resulting in a highly oscillatory system [13]. To prevent this, unity feedback is placed around the motor: where Ref is the set point (reference angle), resulting in 2 100 + 8 100 Next, to track a given waveform, the input (Ref) is defined as where k i are unknown constants and b i (t) are periodic functions that serve as the basis for the input required to force the angle to track some desired path, θR .
Hyperstability-based MRAC is used to estimate these constants as: This algorithm is implemented on a PIC18F4620 microcontroller with a sampling rate of 50 Hz.
The set point to be tracked is a 1 Hz sine wave and a 1 Hz halfrectified sine wave to give a flavor for how each scheme behaves in the best case and in a fairly typical case.
The tracking error of the feedback control system with Ref=θR is show in Figures 1 and 2. Note that for each case, a significant delay exists, as is expected for an error driven device. In addition, for the halfwave rectified sine wave, the high-frequency terms have poor tracking.

Tracking with MRAC and a Finite Number of Terms
In theory, given any basis, bi(t), which spans the ideal input (defined as the input required to track the set point exactly) will result in perfect tracking. With a finite number of terms, however, the tracking will be  imperfect. In this section, the result of limiting the basis to 10 or fewer terms is investigated.
MRAC: Model-reference adaptive control is used to control the motor. The idea here is as follows: The 'ideal' input is the input required to force the output to track the set point perfectly. Since the 'ideal' input is not known a-priori, express it in terms of a basis function: where ki is a set of unknown constants and Bi(t) is a set of basis functions.
Hyperstability-based model reference adaptive schemes tend to use a type of PID control with the estimation of the constants, ki. When trying to control a type-1 system, this in essence creates a type-2 system for the parameter estimates, creating stability issues. [10]. To eliminate this second integrator, a feedback loop around motor angle is created: where R is the set point or reference angle. Now, the 'ideal' input is the set point, R, which causes the motor to track the set point, θR.
For the following MRAC schemes, this technique was used as follows. The error between the set point and the actual angle is defined as:

E=θR−θ
The reference angle is found using a set of basic functions:

Ref =∑ki Bi
where ki are unknown constants estimated using the following PI scheme: In theory, any basis function which spans all periodic inputs can work. In practice, some are probably better than others. The tracking ability for several basis functions follow [14][15][16]: Problem: This isn't guaranteed stable. The basis function is a constant for each time slot (the midpoint). The actual basis interpolates between adjacent time slots.

Legendre polynomials
A Legendre polynomial is an orthonormal power series (1, t, t 2 , t 3 ,

Fourier repetitive
Yet another valid basis comes from a Fourier series expansion. Since the 'ideal' input is periodic, it can be expressed in terms of it's Fourier series. The truncated series used here is (Figures 9 and 10): B i ={1, sin(t), cos(t), sin(2t), cos(2t), sin(4t), cos(4t)}.