# High-Accuracy and Fast-Response Flywheel Torque Control

Authors: Xinxiu Zhou; Meng Li; Ran Zhang
Journal: Mathematical Problems in Engineering
 (2014)

---

## 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.


---

## Body

## 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 Figure1, while the speed mode is realized by speed closed-loop control as shown in Figure 2. Here, T* is torque command, kt is torque coefficient, i* is current command, i is motor winding current, GI(s) is the current controller, u is the motor terminal voltage, eEMF is back electromotive force (EMF), L is motor armature inductance, R is motor armature resistance, ke is back EMF coefficient, J is motor inertia, Te is electromagnetic torque, τL is disturbance torque, ω is rotor speed, To is flywheel output torque, ω* is speed command, and Gω(s) is speed controller, respectively.Figure 1
Current mode control system.Figure 2
Speed mode control system.First the current mode controller’s disturbance rejection capability is analyzed. According to Figure1, the transfer function from torque command to output torque can be written as
(1)To(s)T*(s)=GI(s)Js(Ls+R+GI(s))Js+kekt.And the transfer function for the flywheel output torqueTo with respect to the disturbance torque τL can be obtained
(2)To(s)τL(s)=-(Ls+R+GI(s))Js(Ls+R+GI(s))Js+kekt.If proportional current controllerkpi is implemented, (1) and (2) can be simplified as
(3)To(s)T*(s)=kpiJs(R+kpi)Js+kekt,To(s)τL(s)=-(R+kpi)Js(R+kpi)Js+kekt.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 inductanceL is extraordinarily small compared with the winding resistance voltage drop. Therefore, the voltage drop of armature inductance L is neglected in (3) to simplify the analysis.According to (3) the current mode controller time constant τi can be obtained
(4)τi=(R+kpi)Jkekt.Substituting (4) into (3), we obtain
(5)To(s)T*(s)=kpikpi+R·τisτis+1,(6)To(s)τL(s)=-τisτis+1.According to (5), when τi≫1 flywheel output torque can track the torque command accurately. However, as shown in (6), when τi 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 Figure2. Consider
(7)To(s)T*(s)=Gω(s)GI(s)kt(Ls+R+GI(s))Js+Gω(s)GI(s)kt+kekt,To(s)τL(s)=-(Ls+R+GI(s))Js(Ls+R+GI(s))Js+Gω(s)GI(s)kt+kekt.If proportional speed controllerkpω is implemented, (7) can be simplified as
(8)To(s)T*(s)=kpωkpikt(R+kpi)Js+(kpωkpi+ke)kt,To(s)τL(s)=-(R+kpi)Js(R+kpi)Js+(kpωkpi+ke)kt.According to (8) the speed mode controller time constant τω can be obtained
(9)τω=(R+kpi)J(kpωkpi+ke)kt.Substituting (9) into (8), we obtain
(10)To(s)T*(s)=kpωkpi(kpωkpi+ke)kt·1τωs+1,To(s)τL(s)=-τωsτωs+1.According to (10), when τω≪1 flywheel output torque can track the torque command accurately and To/τL→0 simultaneously. According to (9), as long as the kpωkpi+ke is large enough, τω≪1 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, Figure2 can be represented as Figure 3. Here, eω is speed tracking error. Considering that the actual motor inertia cannot be obtained, nominal motor inertia Jn is employed. In addition, viscous friction coefficient B is added regarding the practical condition.Figure 3
Simplified speed mode control system.If proportional speed controllerkpω is implemented, the transfer function for the flywheel speed ω with respect to the speed command ω* is
(11)ω(s)ω*(s)=ks1+τωs,
where the time constant τω=J/(B+kpωkt) and ks=kpωkt/(B+kpωkt).It can be found that the high flywheel inertia and low torque coefficient would degrade system transient performance. Increasing the speed proportional gainkpω 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 Figure4.Figure 4
Block diagram of flywheel torque control system with feedforward controller.According to (11), the reference current given by FFC (Gffc(s)) can be written as
(12)iffc*=T*+B^ω*k^t=(1+B^/J^s)k^tT*,
where k^t, B^, and J^ are the estimated system parameters.With the designed FFC in the forward path, the transfer function from torque commandT* to flywheel torque To can be represented as
(13)To(s)T*(s)=(1J^s+Gffc(s)Gω(s))(JsGω(s)GP(s)1+Gω(s)GP(s)).Substituting system parameters into (13), it can be simplified as
(14)To(s)T*(s)=(kt/k^t)Js+(ktJ/k^tJ^)B^+(J/J^)kpωktJs+B+kpωkt.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 Figure3, the system electromechanical dynamics can be given in Laplace domain as
(15)ω(s)=kti-τLJs+B.With the ZOH conversion, the plant dynamics inz-domain can be written as
(16)ω(z)=b1z-1(i(z)-iL(z))1+a1z-1,
where a1=-exp⁡(-TB/J) and b1=kt(1+a1)/B are the motor parameters, T is the sampling time, and iL(z)=τL(z)/kt is the equivalent disturbance compensation current, which can be obtained by disturbance observer.Thez-domain transfer function between armature current and speed can be represented as
(17)G(z-1)=BRLS(z-1)ARLS(z-1)=b1z-11+a1z-1∈R(z-1).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(18)ωk=b1ik-1-a1ωk-1+ek,
where k is the iteration integer and ek represents the effects of residual errors in modeling system. Equation (18) can be rearranged in a compact form
(19)ωk=ϕkTθ+ek,
where ϕk=[-ωk-1ik-1]T and θ=[a1b1]T.The system parametersa1 and b1 are assumed unknown and should be identified. The identification model is
(20)Ge(z-1)=Be(z-1)Ae(z-1)=b^1z-11+a^1z-1∈R(z-1),
where the symbol “b^” denotes identified value. The parameter estimation vector is given by
(21)θ^=[a^1b^1]T.Defining a variableεk denotes the model prediction error
(22)εk=ωk-ϕkTθ^k-1.This model prediction error is used to update the parameters as(23)θ^k=θ^k-1+PRLS(k)ϕkεk,
where the RLS covariance matrix PRLS(k) is updated using
(24)PRLS(k)=1λRLSPRLS(k-1)[IP-ϕkϕkTPRLS(k-1)λRLS+ϕkTPRLS(k-1)ϕk],
where the subscript “P” is the dimension of the identity matrix and λRLS is the forgetting factor, 0<λRLS<1.The initial values ofPRLS(k) and θ^(k) 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 θ^(0)=0 and PRLS(0)=αIp, where α is the scalar and is recommended to be chosen 1<α<106. The initial values of parameters are taken to be zero (a1(0)=0,b1(0)=0). The initial covariance matrix diagonal values are taken PRLS(0)=10I with a forgetting factor of λRLS=0.99.


#### 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(25)Ldidt=u-Ri-keω,Jdωdt=kti-Bω-τL.Flywheel motor dynamics in (25) can be represented in discrete time domain as
(26)Xk=ΦkfXk-1+Γvk+Γξk-1,Zk=HXk+ηk,
where xk=[ikωk]T, vk=[ukτL(k)]T, Φkf=[1-TR0/L0-Tke0/L0Tkt0/J01-TB0/J0], Γ=[T/L000-T/J0], and H=[1001] and subscript “0” denotes the nominal value, ξk is process noise vector, and ηk is measurement noise vector. Both of the vectors ξk and ηk are zero-mean Gaussian white sequences, having zero cross correlation with each other
(27)E[ξkξiT]={Q,i=k,0,i≠k,E[ξkηiT]=0,E[ηkηiT]={R,i=k,0,i≠k,
where Q is the process noise covariance matrix and R 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(28)X^k/k-1=ΦkfX^k-1+Γvk-1,Pk/k-1=λkfΦkfPk-1ΦkfT+ΓQΓT,
where λkf is softening factor which can be determined through experiments, the subscript “k” denotes estimated variable, “k/k-1” denotes predicted variable, X^ is the estimated state variable, and P is the covariance matrix.The correction steps/measurements update equations can be written as(29)Kk=Pk/k-1HT[HPk/k-1HT+R]-1,X^k=X^k/k-1+Kk[Zk-HX^k/K-1],Pk=[I-KkH]Pk/k-1[I-KkH]T+KkRKkT,
where K 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 Figure5.Figure 5
Speed IP controller configuration.Essentially, the speed IP controller needs to be redesigned “online” to preserve the time-domain tracking characteristics under different plant parameters. Thez-domain transfer function between the rotor speed and the reference speed is given by
(30)ωω*=b1kiωTz2-(1-a1-b1kpω)z+[-a1+b1(kiωT-kpω)],
where kiω and kpω 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
(31)kiω=1b^1T[exp⁡(-2ξωnT)+b^1kpω+a^1],(32)kpω=1b^1[1-a^1-2exp⁡(-ξωnT)cos⁡(ωnT1-ξ2)],
where ξ is the damping ratio and ωn is the natural frequency of the characteristic equation of (30), respectively. The parameters a^1 and b^1 are updated according to the RLS method.


## 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 Figure1, while the speed mode is realized by speed closed-loop control as shown in Figure 2. Here, T* is torque command, kt is torque coefficient, i* is current command, i is motor winding current, GI(s) is the current controller, u is the motor terminal voltage, eEMF is back electromotive force (EMF), L is motor armature inductance, R is motor armature resistance, ke is back EMF coefficient, J is motor inertia, Te is electromagnetic torque, τL is disturbance torque, ω is rotor speed, To is flywheel output torque, ω* is speed command, and Gω(s) is speed controller, respectively.Figure 1
Current mode control system.Figure 2
Speed mode control system.First the current mode controller’s disturbance rejection capability is analyzed. According to Figure1, the transfer function from torque command to output torque can be written as
(1)To(s)T*(s)=GI(s)Js(Ls+R+GI(s))Js+kekt.And the transfer function for the flywheel output torqueTo with respect to the disturbance torque τL can be obtained
(2)To(s)τL(s)=-(Ls+R+GI(s))Js(Ls+R+GI(s))Js+kekt.If proportional current controllerkpi is implemented, (1) and (2) can be simplified as
(3)To(s)T*(s)=kpiJs(R+kpi)Js+kekt,To(s)τL(s)=-(R+kpi)Js(R+kpi)Js+kekt.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 inductanceL is extraordinarily small compared with the winding resistance voltage drop. Therefore, the voltage drop of armature inductance L is neglected in (3) to simplify the analysis.According to (3) the current mode controller time constant τi can be obtained
(4)τi=(R+kpi)Jkekt.Substituting (4) into (3), we obtain
(5)To(s)T*(s)=kpikpi+R·τisτis+1,(6)To(s)τL(s)=-τisτis+1.According to (5), when τi≫1 flywheel output torque can track the torque command accurately. However, as shown in (6), when τi 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 Figure2. Consider
(7)To(s)T*(s)=Gω(s)GI(s)kt(Ls+R+GI(s))Js+Gω(s)GI(s)kt+kekt,To(s)τL(s)=-(Ls+R+GI(s))Js(Ls+R+GI(s))Js+Gω(s)GI(s)kt+kekt.If proportional speed controllerkpω is implemented, (7) can be simplified as
(8)To(s)T*(s)=kpωkpikt(R+kpi)Js+(kpωkpi+ke)kt,To(s)τL(s)=-(R+kpi)Js(R+kpi)Js+(kpωkpi+ke)kt.According to (8) the speed mode controller time constant τω can be obtained
(9)τω=(R+kpi)J(kpωkpi+ke)kt.Substituting (9) into (8), we obtain
(10)To(s)T*(s)=kpωkpi(kpωkpi+ke)kt·1τωs+1,To(s)τL(s)=-τωsτωs+1.According to (10), when τω≪1 flywheel output torque can track the torque command accurately and To/τL→0 simultaneously. According to (9), as long as the kpωkpi+ke is large enough, τω≪1 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, Figure2 can be represented as Figure 3. Here, eω is speed tracking error. Considering that the actual motor inertia cannot be obtained, nominal motor inertia Jn is employed. In addition, viscous friction coefficient B is added regarding the practical condition.Figure 3
Simplified speed mode control system.If proportional speed controllerkpω is implemented, the transfer function for the flywheel speed ω with respect to the speed command ω* is
(11)ω(s)ω*(s)=ks1+τωs,
where the time constant τω=J/(B+kpωkt) and ks=kpωkt/(B+kpωkt).It can be found that the high flywheel inertia and low torque coefficient would degrade system transient performance. Increasing the speed proportional gainkpω 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 Figure4.Figure 4
Block diagram of flywheel torque control system with feedforward controller.According to (11), the reference current given by FFC (Gffc(s)) can be written as
(12)iffc*=T*+B^ω*k^t=(1+B^/J^s)k^tT*,
where k^t, B^, and J^ are the estimated system parameters.With the designed FFC in the forward path, the transfer function from torque commandT* to flywheel torque To can be represented as
(13)To(s)T*(s)=(1J^s+Gffc(s)Gω(s))(JsGω(s)GP(s)1+Gω(s)GP(s)).Substituting system parameters into (13), it can be simplified as
(14)To(s)T*(s)=(kt/k^t)Js+(ktJ/k^tJ^)B^+(J/J^)kpωktJs+B+kpωkt.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 Figure3, the system electromechanical dynamics can be given in Laplace domain as
(15)ω(s)=kti-τLJs+B.With the ZOH conversion, the plant dynamics inz-domain can be written as
(16)ω(z)=b1z-1(i(z)-iL(z))1+a1z-1,
where a1=-exp⁡(-TB/J) and b1=kt(1+a1)/B are the motor parameters, T is the sampling time, and iL(z)=τL(z)/kt is the equivalent disturbance compensation current, which can be obtained by disturbance observer.Thez-domain transfer function between armature current and speed can be represented as
(17)G(z-1)=BRLS(z-1)ARLS(z-1)=b1z-11+a1z-1∈R(z-1).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(18)ωk=b1ik-1-a1ωk-1+ek,
where k is the iteration integer and ek represents the effects of residual errors in modeling system. Equation (18) can be rearranged in a compact form
(19)ωk=ϕkTθ+ek,
where ϕk=[-ωk-1ik-1]T and θ=[a1b1]T.The system parametersa1 and b1 are assumed unknown and should be identified. The identification model is
(20)Ge(z-1)=Be(z-1)Ae(z-1)=b^1z-11+a^1z-1∈R(z-1),
where the symbol “b^” denotes identified value. The parameter estimation vector is given by
(21)θ^=[a^1b^1]T.Defining a variableεk denotes the model prediction error
(22)εk=ωk-ϕkTθ^k-1.This model prediction error is used to update the parameters as(23)θ^k=θ^k-1+PRLS(k)ϕkεk,
where the RLS covariance matrix PRLS(k) is updated using
(24)PRLS(k)=1λRLSPRLS(k-1)[IP-ϕkϕkTPRLS(k-1)λRLS+ϕkTPRLS(k-1)ϕk],
where the subscript “P” is the dimension of the identity matrix and λRLS is the forgetting factor, 0<λRLS<1.The initial values ofPRLS(k) and θ^(k) 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 θ^(0)=0 and PRLS(0)=αIp, where α is the scalar and is recommended to be chosen 1<α<106. The initial values of parameters are taken to be zero (a1(0)=0,b1(0)=0). The initial covariance matrix diagonal values are taken PRLS(0)=10I with a forgetting factor of λRLS=0.99.


### 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(25)Ldidt=u-Ri-keω,Jdωdt=kti-Bω-τL.Flywheel motor dynamics in (25) can be represented in discrete time domain as
(26)Xk=ΦkfXk-1+Γvk+Γξk-1,Zk=HXk+ηk,
where xk=[ikωk]T, vk=[ukτL(k)]T, Φkf=[1-TR0/L0-Tke0/L0Tkt0/J01-TB0/J0], Γ=[T/L000-T/J0], and H=[1001] and subscript “0” denotes the nominal value, ξk is process noise vector, and ηk is measurement noise vector. Both of the vectors ξk and ηk are zero-mean Gaussian white sequences, having zero cross correlation with each other
(27)E[ξkξiT]={Q,i=k,0,i≠k,E[ξkηiT]=0,E[ηkηiT]={R,i=k,0,i≠k,
where Q is the process noise covariance matrix and R 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(28)X^k/k-1=ΦkfX^k-1+Γvk-1,Pk/k-1=λkfΦkfPk-1ΦkfT+ΓQΓT,
where λkf is softening factor which can be determined through experiments, the subscript “k” denotes estimated variable, “k/k-1” denotes predicted variable, X^ is the estimated state variable, and P is the covariance matrix.The correction steps/measurements update equations can be written as(29)Kk=Pk/k-1HT[HPk/k-1HT+R]-1,X^k=X^k/k-1+Kk[Zk-HX^k/K-1],Pk=[I-KkH]Pk/k-1[I-KkH]T+KkRKkT,
where K is the gain matrix, respectively. The delay induced by the Kalman filter is very small which can be neglected.


## 2.2.1. Command Feedforward Controller

Assuming that ideal current tracking control has been obtained, Figure2 can be represented as Figure 3. Here, eω is speed tracking error. Considering that the actual motor inertia cannot be obtained, nominal motor inertia Jn is employed. In addition, viscous friction coefficient B is added regarding the practical condition.Figure 3
Simplified speed mode control system.If proportional speed controllerkpω is implemented, the transfer function for the flywheel speed ω with respect to the speed command ω* is
(11)ω(s)ω*(s)=ks1+τωs,
where the time constant τω=J/(B+kpωkt) and ks=kpωkt/(B+kpωkt).It can be found that the high flywheel inertia and low torque coefficient would degrade system transient performance. Increasing the speed proportional gainkpω 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 Figure4.Figure 4
Block diagram of flywheel torque control system with feedforward controller.According to (11), the reference current given by FFC (Gffc(s)) can be written as
(12)iffc*=T*+B^ω*k^t=(1+B^/J^s)k^tT*,
where k^t, B^, and J^ are the estimated system parameters.With the designed FFC in the forward path, the transfer function from torque commandT* to flywheel torque To can be represented as
(13)To(s)T*(s)=(1J^s+Gffc(s)Gω(s))(JsGω(s)GP(s)1+Gω(s)GP(s)).Substituting system parameters into (13), it can be simplified as
(14)To(s)T*(s)=(kt/k^t)Js+(ktJ/k^tJ^)B^+(J/J^)kpωktJs+B+kpωkt.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 Figure3, the system electromechanical dynamics can be given in Laplace domain as
(15)ω(s)=kti-τLJs+B.With the ZOH conversion, the plant dynamics inz-domain can be written as
(16)ω(z)=b1z-1(i(z)-iL(z))1+a1z-1,
where a1=-exp⁡(-TB/J) and b1=kt(1+a1)/B are the motor parameters, T is the sampling time, and iL(z)=τL(z)/kt is the equivalent disturbance compensation current, which can be obtained by disturbance observer.Thez-domain transfer function between armature current and speed can be represented as
(17)G(z-1)=BRLS(z-1)ARLS(z-1)=b1z-11+a1z-1∈R(z-1).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(18)ωk=b1ik-1-a1ωk-1+ek,
where k is the iteration integer and ek represents the effects of residual errors in modeling system. Equation (18) can be rearranged in a compact form
(19)ωk=ϕkTθ+ek,
where ϕk=[-ωk-1ik-1]T and θ=[a1b1]T.The system parametersa1 and b1 are assumed unknown and should be identified. The identification model is
(20)Ge(z-1)=Be(z-1)Ae(z-1)=b^1z-11+a^1z-1∈R(z-1),
where the symbol “b^” denotes identified value. The parameter estimation vector is given by
(21)θ^=[a^1b^1]T.Defining a variableεk denotes the model prediction error
(22)εk=ωk-ϕkTθ^k-1.This model prediction error is used to update the parameters as(23)θ^k=θ^k-1+PRLS(k)ϕkεk,
where the RLS covariance matrix PRLS(k) is updated using
(24)PRLS(k)=1λRLSPRLS(k-1)[IP-ϕkϕkTPRLS(k-1)λRLS+ϕkTPRLS(k-1)ϕk],
where the subscript “P” is the dimension of the identity matrix and λRLS is the forgetting factor, 0<λRLS<1.The initial values ofPRLS(k) and θ^(k) 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 θ^(0)=0 and PRLS(0)=αIp, where α is the scalar and is recommended to be chosen 1<α<106. The initial values of parameters are taken to be zero (a1(0)=0,b1(0)=0). The initial covariance matrix diagonal values are taken PRLS(0)=10I with a forgetting factor of λRLS=0.99.


## 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(25)Ldidt=u-Ri-keω,Jdωdt=kti-Bω-τL.Flywheel motor dynamics in (25) can be represented in discrete time domain as
(26)Xk=ΦkfXk-1+Γvk+Γξk-1,Zk=HXk+ηk,
where xk=[ikωk]T, vk=[ukτL(k)]T, Φkf=[1-TR0/L0-Tke0/L0Tkt0/J01-TB0/J0], Γ=[T/L000-T/J0], and H=[1001] and subscript “0” denotes the nominal value, ξk is process noise vector, and ηk is measurement noise vector. Both of the vectors ξk and ηk are zero-mean Gaussian white sequences, having zero cross correlation with each other
(27)E[ξkξiT]={Q,i=k,0,i≠k,E[ξkηiT]=0,E[ηkηiT]={R,i=k,0,i≠k,
where Q is the process noise covariance matrix and R 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(28)X^k/k-1=ΦkfX^k-1+Γvk-1,Pk/k-1=λkfΦkfPk-1ΦkfT+ΓQΓT,
where λkf is softening factor which can be determined through experiments, the subscript “k” denotes estimated variable, “k/k-1” denotes predicted variable, X^ is the estimated state variable, and P is the covariance matrix.The correction steps/measurements update equations can be written as(29)Kk=Pk/k-1HT[HPk/k-1HT+R]-1,X^k=X^k/k-1+Kk[Zk-HX^k/K-1],Pk=[I-KkH]Pk/k-1[I-KkH]T+KkRKkT,
where K 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 Figure5.Figure 5
Speed IP controller configuration.Essentially, the speed IP controller needs to be redesigned “online” to preserve the time-domain tracking characteristics under different plant parameters. Thez-domain transfer function between the rotor speed and the reference speed is given by
(30)ωω*=b1kiωTz2-(1-a1-b1kpω)z+[-a1+b1(kiωT-kpω)],
where kiω and kpω 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
(31)kiω=1b^1T[exp⁡(-2ξωnT)+b^1kpω+a^1],(32)kpω=1b^1[1-a^1-2exp⁡(-ξωnT)cos⁡(ωnT1-ξ2)],
where ξ is the damping ratio and ωn is the natural frequency of the characteristic equation of (30), respectively. The parameters a^1 and b^1 are updated according to the RLS method.


## 3. MSFW Motor Experiments

### 3.1. Experimental Setup

Figure6 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 6
The established speed mode flywheel torque control system.Figure7 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.Table 1
MSFW motor control system parameters.
DC source
V
28
Rated output torque
N·m
±0.05
Rated rotor speed
rad/s
±120
Moment of inertia
kg·m2
0.0286
Line-to-line back EMF Coefficient
V·s/rad
0.08
Peak stator current
A
2
Phase resistance
Ω
0.5
Phase inductance
μH
36
PWM frequency
kHz
20Figure 7
MSFW control system.


### 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 Figure8.Figure 8
Setup diagram of closed-loop system identification.Performing motor driving system closed-loop test using the current controller, the parameter identification results are described in Figure9. 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.Identification results without disturbance (i*=0.5 A).
(a)
Identified parametera1
(b)
Identified parameterb1
(c)
Motor armature current
(d)
Motor speed and identified speedHowever, when the disturbance or noise is serious, the RLS identification performance would degrade. As shown in Figure10, 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.Identification results when disturbance is serious (i*=2 A).
(a)
Motor armature current
(b)
Motor speed
(c)
Identified parametera1
(d)
Identified parameterb1


### 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λkf is set to 1 and 4, respectively. And setting Q=[0.00010;00.001], R=[0.10;010], P0=[100;010]. The results of Kalman filter and RLS estimator are shown in Figure 11.Identification results with Kalman filter.
(a)
dc-link current
(b)
Identified parametera1
(c)
Identified parameterb1From Figure11 it can be found that when λkf gets larger, better smoothness and poor tracking performances can be gotten. While λkf becomes smaller, improved tracking and identification performances can be obtained. Through performing comparison experiments and taking compromised consideration, the softening factor λkf 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 asT*=0.05 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 Figure12, where T*/kt 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.Figure 12
Dynamic response speed of the armature current with and without FFC (T*=0.05 N·m).


### 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 Figure13, when T*=0.03 N·m.Flywheel motor speed and torque dynamic response waveforms. (a) Flywheel speed. (b) Flywheel torque.
(a)
(b)From Figure13(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 Figure14(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.Figure 14
Flywheel torque performance comparison between conventional and proposed controllers.


## 3.1. Experimental Setup

Figure6 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 6
The established speed mode flywheel torque control system.Figure7 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.Table 1
MSFW motor control system parameters.
DC source
V
28
Rated output torque
N·m
±0.05
Rated rotor speed
rad/s
±120
Moment of inertia
kg·m2
0.0286
Line-to-line back EMF Coefficient
V·s/rad
0.08
Peak stator current
A
2
Phase resistance
Ω
0.5
Phase inductance
μH
36
PWM frequency
kHz
20Figure 7
MSFW control system.


## 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 Figure8.Figure 8
Setup diagram of closed-loop system identification.Performing motor driving system closed-loop test using the current controller, the parameter identification results are described in Figure9. 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.Identification results without disturbance (i*=0.5 A).
(a)
Identified parametera1
(b)
Identified parameterb1
(c)
Motor armature current
(d)
Motor speed and identified speedHowever, when the disturbance or noise is serious, the RLS identification performance would degrade. As shown in Figure10, 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.Identification results when disturbance is serious (i*=2 A).
(a)
Motor armature current
(b)
Motor speed
(c)
Identified parametera1
(d)
Identified parameterb1


## 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λkf is set to 1 and 4, respectively. And setting Q=[0.00010;00.001], R=[0.10;010], P0=[100;010]. The results of Kalman filter and RLS estimator are shown in Figure 11.Identification results with Kalman filter.
(a)
dc-link current
(b)
Identified parametera1
(c)
Identified parameterb1From Figure11 it can be found that when λkf gets larger, better smoothness and poor tracking performances can be gotten. While λkf becomes smaller, improved tracking and identification performances can be obtained. Through performing comparison experiments and taking compromised consideration, the softening factor λkf 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 asT*=0.05 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 Figure12, where T*/kt 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.Figure 12
Dynamic response speed of the armature current with and without FFC (T*=0.05 N·m).


## 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 Figure13, when T*=0.03 N·m.Flywheel motor speed and torque dynamic response waveforms. (a) Flywheel speed. (b) Flywheel torque.
(a)
(b)From Figure13(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 Figure14(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.Figure 14
Flywheel torque performance comparison between conventional and proposed controllers.


## 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.



---

*Source: 960437-2014-09-28.xml*