#### Abstract

Compared with current mode flywheel torque controller, speed mode torque controller has superior disturbance rejection capability. However, the speed loop delay reduces system dynamic response speed. To solve this problem, a two-degrees-of-freedom controller (2DOFC) which consists of a feedback controller (FBC) and a command feedforward controller (FFC) is proposed. The transfer function of FFC is found based on the inverse model of motor drive system, whose parameters are identified by recursive least squares (RLS) algorithm in real-time. Upon this, Kalman filter with softening factor is introduced for the improved parameters identification and torque control performances. Finally, the validity and the superiority of the proposed control scheme are verified through experiments with magnetically suspended flywheel (MSFW) motor.

#### 1. Introduction

Flywheels (FWs) are the key actuators for the attitude control of spacecrafts [1]. Through applying suitable output torque to the motor shaft, the flywheel reaction momentum can change the spacecraft axial position accurately. Therefore, fast and precise torque control is the major objective for the flywheel system.

There are mainly two kinds of flywheel torque control modes: current mode and speed mode. The current mode is realized by current closed-loop control, which has been extensively investigated and employed in flywheel system owing to the simplicity [2, 3]. However, this kind of flywheel control system is sensitive to the disturbance torque, because most of system disturbances are located outside of the current loop. As for the speed mode control system, it has improved steady state performance when the accuracy of speed feedback information is sufficiently high. And the influence of the disturbances can be suppressed since they are contained in the speed closed-loop [4, 5]. Thereby, speed mode is usually employed in the high-precision applications.

However, the high flywheel inertia and low torque coefficient result in the low response of the speed mode torque control system. As we all know, feedforward controller (FFC) needs shorter settling time compared with the feedback controller (FBC). However, it cannot eliminate errors completely. It is found that combining the FFC and FBC to form a two-degrees-of-freedom controller (2DOFC) is a feasible solution for the improved transient and steady state performances [6, 7]. However, the implementation of the FFC requires accurate system model. The accuracy of parameters estimation is an important factor that influences the performance of complex mechanical systems. Hence, it is necessary to acquire accurate system parameter adaptively.

Parameter estimation methods mainly fall into four categories: speed response-based method, extended Kalman filter (EKF) and recursive least square (RLS) estimators, model reference adaptive system (MRAS), and observer-based method. A speed response-based method is used to estimate the mechanical parameters of a motor using its speed response. An identification method of the inertia and the viscous damping coefficient is proposed and applied to a drive system in [8]. An inertia calculation method is presented to detect the periodic inertia variation in [9]. These algorithms are simple but not robust because of the open-loop feature. EKF and RLS estimators can be applied for parameter and state estimation [10, 11]. However, they are sensitive to measurement of noise and system disturbance. The MRAS-based method estimates inertia using Landau’s discrete time-recursive parameter identification [12]. It has the advantage of simple implementation. However, this method is sensitive to parameter variations. In addition, it cannot estimate the time-varying load torque in real-time. Observer-based method is usually used because of its computational simplicity and high robustness to the disturbances. In [13], a sliding mode observer based on the LuGre friction model is proposed to estimate the friction. Unfortunately, it needs a low-pass filter to extract the estimated signal, which will induce the phase lag and affect the estimation accuracy. Recently, the second-order sliding-mode observer has been applied to the observation and identification of mechanical systems [14, 15]. However, the perturbation identification still needs a low-pass filter. Therefore, how to achieve the satisfied parameter estimation performance inspires the adaptive parameter identification problem which should be paid more attention to.

To obtain the fast and precise flywheel torque, this paper analyzes the factors that influence the speed mode control system performance. And a 2DOFC is proposed to improve its transient and steady state performances, in which the FFC coefficients are identified by the RLS algorithm. Considering that the disturbance and noise would influence the identification accuracy, Kalman filter with softening factor is employed for the improved performance.

#### 2. Speed Mode Flywheel Torque Controller Design

##### 2.1. Comparison between Current Mode and Speed Mode Flywheel Torque Controller

In order to illustrate the superiority of the speed mode controller, the disturbance rejection capability of the speed mode and current mode controller is compared here. The current mode is realized by current closed-loop control as shown in Figure 1, while the speed mode is realized by speed closed-loop control as shown in Figure 2. Here, is torque command, is torque coefficient, is current command, is motor winding current, is the current controller, is the motor terminal voltage, is back electromotive force (EMF), is motor armature inductance, is motor armature resistance, is back EMF coefficient, is motor inertia, is electromagnetic torque, is disturbance torque, is rotor speed, is flywheel output torque, is speed command, and is speed controller, respectively.

First the current mode controller’s disturbance rejection capability is analyzed. According to Figure 1, the transfer function from torque command to output torque can be written as

And the transfer function for the flywheel output torque with respect to the disturbance torque can be obtained

If proportional current controller is implemented, (1) and (2) can be simplified as

Since the flywheel motor is coreless BLDCM, its inductance is very small compared with that of the conventional motor. It can be derived that in coreless BLDCM the voltage drop of armature inductance is extraordinarily small compared with the winding resistance voltage drop. Therefore, the voltage drop of armature inductance is neglected in (3) to simplify the analysis.

According to (3) the current mode controller time constant can be obtained

Substituting (4) into (3), we obtain

According to (5), when flywheel output torque can track the torque command accurately. However, as shown in (6), when is large, controller’s disturbance rejection capability is poor.

As for the speed mode control system, the transfer function from torque command and disturbance to flywheel torque can be obtained according to Figure 2. Consider

If proportional speed controller is implemented, (7) can be simplified as

According to (8) the speed mode controller time constant can be obtained

Substituting (9) into (8), we obtain

According to (10), when flywheel output torque can track the torque command accurately and simultaneously. According to (9), as long as the is large enough, can be obtained.

It can be found that the speed mode controller has the capability of disturbance suppression. On condition that the controller’s disturbance rejection ability is still unsatisfied, the disturbance observer can be used as illustrated in [1], which will not be explained in detail.

##### 2.2. Speed Mode Controller Dynamic Response Speed Improvement

###### 2.2.1. Command Feedforward Controller

Assuming that ideal current tracking control has been obtained, Figure 2 can be represented as Figure 3. Here, is speed tracking error. Considering that the actual motor inertia cannot be obtained, nominal motor inertia is employed. In addition, viscous friction coefficient B is added regarding the practical condition.

If proportional speed controller is implemented, the transfer function for the flywheel speed with respect to the speed command is where the time constant and .

It can be found that the high flywheel inertia and low torque coefficient would degrade system transient performance. Increasing the speed proportional gain can improve the response speed, whereas the overshoot increases simultaneously.

Note that it is the speed loop that plays the main role in the low response. Therefore, system transient performance would be improved by adding a feedforward path from the torque command to the current command. Hence, the system block diagram can be described as in Figure 4.

According to (11), the reference current given by FFC () can be written as where , , and are the estimated system parameters.

With the designed FFC in the forward path, the transfer function from torque command to flywheel torque can be represented as

Substituting system parameters into (13), it can be simplified as

Note that when the system parameters can be estimated accurately, the transfer function from torque command to flywheel torque equals 1. So parameters online identification is required to assist the implementation of the FFC.

###### 2.2.2. Parameter Identification

According to Figure 3, the system electromechanical dynamics can be given in Laplace domain as

With the ZOH conversion, the plant dynamics in -domain can be written as where and are the motor parameters, is the sampling time, and is the equivalent disturbance compensation current, which can be obtained by disturbance observer.

The -domain transfer function between armature current and speed can be represented as

Through analysis it is found that RLS algorithm has easy numerical solution and fast parameter convergence. So it is employed here for the parameters identification. The relationship between the system output and input can be written as where is the iteration integer and represents the effects of residual errors in modeling system. Equation (18) can be rearranged in a compact form where and .

The system parameters and are assumed unknown and should be identified. The identification model is where the symbol “” denotes identified value. The parameter estimation vector is given by

Defining a variable denotes the model prediction error

This model prediction error is used to update the parameters as where the RLS covariance matrix is updated using where the subscript “” is the dimension of the identity matrix and is the forgetting factor, .

The initial values of and are chosen as estimates and then allowed to settle to their final values as the program goes through several iterations. There is no unique way to initialize the algorithm. One suggestion is to set and , where is the scalar and is recommended to be chosen . The initial values of parameters are taken to be zero (). The initial covariance matrix diagonal values are taken with a forgetting factor of .

###### 2.2.3. Design of Kalman Filter

Note that once these parameters are estimated accurately, the controller of the flywheel system can be autotuned. However, RLS algorithm is sensitive to measurement of noise and system disturbance. Therefore, Kalman filter is used for improving its performance.

The implementation of Kalman filter requires the a priori knowledge of both the process and measurement models. Poor knowledge of the models may seriously degrade the Kalman filter performance and even provoke the filter divergence. To fulfill the requirement, an adaptive Kalman filter can be utilized as the noise-adaptive filter to adjust the parameters.

The linear equations describing the flywheel motor system can be represented as

Flywheel motor dynamics in (25) can be represented in discrete time domain as where , , , , and and subscript “0” denotes the nominal value, is process noise vector, and is measurement noise vector. Both of the vectors and are zero-mean Gaussian white sequences, having zero cross correlation with each other where is the process noise covariance matrix and is the measurement noise covariance matrix.

One of the approaches for adaptive processing is on the incorporation of fading factors. The idea of fading memory is to apply a factor matrix to the predicted covariance matrix to deliberately increase the variance of the predicted state vector. Therefore, Kalman filter prediction steps/time update equations can be described as where is softening factor which can be determined through experiments, the subscript “” denotes estimated variable, “” denotes predicted variable, is the estimated state variable, and is the covariance matrix.

The correction steps/measurements update equations can be written as where is the gain matrix, respectively. The delay induced by the Kalman filter is very small which can be neglected.

##### 2.3. Speed Feedback Controller Design

Once a reliable estimation of the plant parameters is available, it can be used to adjust the different control blocks real-time. The traditional speed controller parameters have been calculated using linear fixed motor parameters at an operating point. However, fixed parameter controllers may not give desired performance under different operating conditions. Updating this part with the estimated parameters leads to better matching between the plant dynamics and the control system model. Assuming perfect current tracking, the actual armature current can be replaced with the reference one. The configuration of speed integral-proportional (IP) controller can be described as in Figure 5.

Essentially, the speed IP controller needs to be redesigned “online” to preserve the time-domain tracking characteristics under different plant parameters. The -domain transfer function between the rotor speed and the reference speed is given by where and are the self-tuning integral and proportional gains of speed IP controller, respectively. Using the bandwidth method, the controller gains can be derived to achieve the time-domain tracking specifications. The self-tuning controller gains in (30) can be calculated as where is the damping ratio and is the natural frequency of the characteristic equation of (30), respectively. The parameters and are updated according to the RLS method.

#### 3. MSFW Motor Experiments

##### 3.1. Experimental Setup

Figure 6 shows the configuration of the speed mode flywheel torque control scheme. It mainly consists of a parameter identifier, a Kalman filter, and a 2DOFC, in which 2DOFC is composed of a FBC and a FFC, among which RLS algorithm is used to estimate the unknown parameters, which matches the input-output behaviour of the real electromechanical system. However, the accuracy of identification would descend when the disturbance or noise is serious. Therefore, Kalman filter with softening factor is employed into predicted covariance matrix to obtain a compromise between smoothness and tracking capability. And the 2DOFC is used for improving system transient and steady state performances.

Figure 7 illustrates the configuration of MSFW system developed by our team. The validity of the flywheel torque control scheme is verified by the MSFW motor which is used for offering torque to regulating satellite attitude. The MSFW motor control system parameters are listed in Table 1. The pulse-width-modulated (PWM) scheme with switching frequency 20 kHz is designed. Since the sharp inverter commutation spikes impair the current acquisition process, the synchronous sampling technique is adopted. The rotor position is measured by means of 2000 pulses/revolution encoder. The actual motor current is measured by high bandwidth Hall effect current sensor and fed to the controller through 12-bit analog-to-digital (A/D) converter.

##### 3.2. Experiment 1: System Parameter Identification

In this experiment the RLS parameter identification algorithm is verified. Direct identification approach is employed in the closed-loop identification. The diagram of the experimental setup is shown in Figure 8.

Performing motor driving system closed-loop test using the current controller, the parameter identification results are described in Figure 9. It can be found that RLS algorithm has fast and steady convergence performance (see Figures 9(a) and 9(b)). In order to verify the correctness of the identified driving model, the measured armature current (see Figure 9(c)) is put into the identified model. Thereby, the identified speed yielded by the estimated model can be gotten (see Figure 9(d)). Notice that the motor speed and the identified speed are coincident. Therefore, an inference can be drawn; the identified parameters are consistent with actual motor parameters.

(a) Identified parameter |

(b) Identified parameter |

**(c) Motor armature current**

**(d) Motor speed and identified speed**

However, when the disturbance or noise is serious, the RLS identification performance would degrade. As shown in Figure 10, when the system suffered from external disturbance at 13.6 s, there is a distinct deterioration in the identification accuracy of the MSFW motor parameters.

**(a) Motor armature current**

**(b) Motor speed**

(c) Identified parameter |

(d) Identified parameter |

##### 3.3. Experiment 2: Kalman Filter

In order to improve the performance of parameter identification, Kalman filter with softening factor is employed for signal disposal. For comparison, the softening factor is set to 1 and 4, respectively. And setting , , . The results of Kalman filter and RLS estimator are shown in Figure 11.

**(a) dc-link current**

(b) Identified parameter |

(c) Identified parameter |

From Figure 11 it can be found that when gets larger, better smoothness and poor tracking performances can be gotten. While becomes smaller, improved tracking and identification performances can be obtained. Through performing comparison experiments and taking compromised consideration, the softening factor of Kalman filter is set to 2.

##### 3.4. Experiment 3: Command Feedforward Control

To improve the dynamic performance of the speed mode flywheel torque control system, FFC is applied to the controller. Here, the command torque is given as N·m. With these settings, detailed experiments are made.

It can be found that the dynamic performance of the armature current reflects that of the electromagnetic toque directly. So the dynamic performance comparison between the controller with and without FFC can be done through performing the armature current dynamic response speed tests. The test results are described in Figure 12, where is the current command transformed from the torque command. As described in Figure 12, with the FFC the armature current dynamic response speed increases greatly, and the steady stage performance improves simultaneously.

##### 3.5. Experiment 4: Disturbance Suppression

To evaluate the disturbance rejection capability of the proposed controller, a comparison between current mode controller and the speed mode controller is made. The flywheel motor dynamic responses are shown in Figure 13, when N·m.

**(a)**

**(b)**

From Figure 13(b) it can be found that when the flywheel torque is controlled by current mode controller, the difference between flywheel torque and reference torque is growing as the rotor speed is increasing, because the damping disturbance increases with the speed rising. However, more accurate flywheel torque can be gotten with the proposed controller even in harsh environment.

It can be found that the speed mode controller has the capability of disturbance suppression. On condition that the controller’s disturbance rejection ability is still unsatisfied, the disturbance observer can be used as illustrated in [1], which will not be explained in detail.

##### 3.6. Experiment 5: Comparison with Conventional Speed Mode Controller

In this experiment the proposed speed mode flywheel torque control method is verified. The torque command is given as 0.02 N·m, 0.04 N·m, and 0.05 N·m, when rotor speed arrives at 0 rad/s, 40 rad/s, and 80 rad/s, respectively. With these settings, detailed experiments are made.

Firstly, the conventional speed mode torque controller is applied to the flywheel system, and the corresponding waveforms are shown in Figure 14(I). Analyzing its transient performance, it can be found that due to the high flywheel inertia and low torque coefficient, the flywheel torque transient performance is poor (see Figures 14(b) and 14(c)). In order to improve the transient performance of the system, the designed FFC is applied to the flywheel torque controller. It can be found that, with the help of FFC, system dynamic response speed increases by one time (see Figures 14(e) and 14(f)). In addition, with the help of the RLS estimator and Kalman filter, the controlled flywheel torque can be made to closely follow the defined reference trajectory (see Figure 14(d)). Accordingly, the transient performance and steady state performance of the flywheel output torque improve simultaneously.

#### 4. Conclusions

In this paper, a high-accuracy and fast-response output torque control scheme is proposed to improve the performance of flywheel torque. Firstly, a 2DOFC is designed to improve the transient and steady state performance of the speed mode torque controller. And, RLS algorithm is employed to identify the flywheel system parameters and update the FFC coefficients. Considering that the system disturbance or noise would degrade RLS algorithm performance, Kalman filter with softening factor is used for signal disposal. Finally, experiments are presented to demonstrate the effectiveness of the proposed flywheel torque control scheme.

#### Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

#### Acknowledgment

This work was supported by Chinese National Natural Science Foundation (no. 61403015).