Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic...

53
Automatic Balancing and Intelligent Fault Tolerance for a Space-Based Centrifuge Edward Wilson * Intellization, Redwood Shores, California, 94065 Robert W. Mah NASA Ames Research Center, Moffett Field, California, 94303 A 2.5 m diameter centrifuge is presently being developed by the Japan Aerospace Exploration Agency (JAXA) for installation on the International Space Station (ISS). While this will enable biological experiments at variable gravity levels, if an imbalance in the large rotating mass of the centrifuge rotor is allowed to persist, it will cause vibrations that disturb the micro-gravity environment of the ISS. This paper presents an approach for automatic balancing and intelligent fault tolerance. It has been developed and tested in simulation on a model of an early centrifuge design prototype developed at NASA Ames Research Center. The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights to minimize the effects of the imbalance. The algorithm consists of an on-line recursive least-squares (RLS) based imbalance estimator which outputs to a simple counterweight control system. The sensor fault detection, isolation, and reconfiguration (FDIR) system uses a maximum likelihood approach. The counterweight FDIR performs a simple check of the encoder and motion commands to detect sticking or skipping. These systems are developed and tested in MATLAB simulation. Extension of these algorithms for application on the present design of the ISS Centrifuge is straightforward and could result in a high performance and autonomously fault-tolerant ABS. Nomenclature A – [matrix] a matrix in the general formulation of the LS problem, Ax b . B – [8-by-1 vector] of strain gauge biases [Newtons] b – [vector] a vector in the general formulation of the LS problem, Ax b . cψ – [scalar] abbreviation for cosψ . [] NFN E – [4-by-1 vector] of net force noise – unknown net forces and torques on the rotor [Newtons, Newton-meters] SFN E – [8-by-1 vector] of strain gauge force noise – the difference between the -generated force and the actual force seen by the strain gauge (e.g., due to vibrations). [Newtons] net F SSN E – [8-by-1 vector] of strain gauge sensor noise – the difference between the actual force seen by the strain gauge and the sensor output. [Newtons] 1 2 ( , , , ) N Fx x x " – [scalar] joint probability distribution function used in maximum likelihood SG FDIR derivation. [] 1 2 ( , , , ) N f x x x " – [scalar] joint probability density function used in maximum likelihood SG FDIR derivation. [] net F – [4-by-1 vector] net force and torque on the rotor, measured in the rotor frame. Equal to T x y x y F F τ τ . [Newtons, Newton-meters] * President, [email protected], AIAA member Research Scientist, SSRL Group Lead, [email protected] American Institute of Aeronautics and Astronautics 1

Transcript of Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic...

Page 1: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

Automatic Balancing and Intelligent Fault Tolerance for a Space-Based Centrifuge

Edward Wilson*

Intellization, Redwood Shores, California, 94065

Robert W. Mah†

NASA Ames Research Center, Moffett Field, California, 94303

A 2.5 m diameter centrifuge is presently being developed by the Japan Aerospace Exploration Agency (JAXA) for installation on the International Space Station (ISS). While this will enable biological experiments at variable gravity levels, if an imbalance in the large rotating mass of the centrifuge rotor is allowed to persist, it will cause vibrations that disturb the micro-gravity environment of the ISS. This paper presents an approach for automatic balancing and intelligent fault tolerance. It has been developed and tested in simulation on a model of an early centrifuge design prototype developed at NASA Ames Research Center. The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights to minimize the effects of the imbalance. The algorithm consists of an on-line recursive least-squares (RLS) based imbalance estimator which outputs to a simple counterweight control system. The sensor fault detection, isolation, and reconfiguration (FDIR) system uses a maximum likelihood approach. The counterweight FDIR performs a simple check of the encoder and motion commands to detect sticking or skipping. These systems are developed and tested in MATLAB simulation. Extension of these algorithms for application on the present design of the ISS Centrifuge is straightforward and could result in a high performance and autonomously fault-tolerant ABS.

Nomenclature A – [matrix] a matrix in the general formulation of the LS problem, Ax b≅ . B – [8-by-1 vector] of strain gauge biases [Newtons] b – [vector] a vector in the general formulation of the LS problem, Ax b≅ . cψ – [scalar] abbreviation for cosψ . []

NFNE – [4-by-1 vector] of net force noise – unknown net forces and torques on the rotor [Newtons, Newton-meters]

SFNE – [8-by-1 vector] of strain gauge force noise – the difference between the -generated force and the actual force seen by the strain gauge (e.g., due to vibrations). [Newtons]

netF

SSNE – [8-by-1 vector] of strain gauge sensor noise – the difference between the actual force seen by the strain gauge and the sensor output. [Newtons]

1 2( , , , )NF x x x – [scalar] joint probability distribution function used in maximum likelihood SG FDIR derivation. []

1 2( , , , )Nf x x x – [scalar] joint probability density function used in maximum likelihood SG FDIR derivation. []

netF – [4-by-1 vector] net force and torque on the rotor, measured in the rotor frame. Equal to T

x y x yF F τ τ⎡⎣ ⎤⎦

. [Newtons, Newton-meters]

* President, [email protected], AIAA member † Research Scientist, SSRL Group Lead, [email protected]

American Institute of Aeronautics and Astronautics

1

Page 2: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

xF – [scalar] element of , net force on the rotor in the +x in the rotor frame. +y direction indicated by netF yF . [Newtons]

G – [8-by-4 matrix] constant matrix that accounts for the strain gauge locations in the transformation from to

. “G” is for “geometry.” netF

trueSg – [scalar] acceleration due to gravity. [meters/second2] I – [8-by-8 matrix] identity matrix. i – [scalar] failure mode number. []

isolatedi – [scalar] failure mode number that has been declared as the isolated fault (whether true or not). [] *i – [scalar] true failure mode number. [] J – [scalar] cost variable minimized in the least squares derivation. k – [scalar] sample time counter. [] l – [scalar] z-axis coordinate of the upper counterweight plane. Lower plane coordinate is . The origin of the z-

axis is defined as the midpoint between the upper and lower counterweight planes. [meters] l−

m – [scalar] mass of the rotor. [kg]

cm – [scalar] mass of the MCI. Can be chosen arbitrarily. [kg]

pm – [scalar] mass of the PMI. Can be chosen arbitrarily. [kg]

cCWm – [scalar] mass of the mass-couple used to represent the effects of the counterweights. [kg]

pCWm – [scalar] mass of the point mass used to represent the effects of the counterweights. [kg]

N – [scalar] number of measurements in the window used in maximum likelihood SG FDIR. []

,i kr – [scalar] residual corresponding to failure mode i , measured at time update , used for SG FDIR. [Newtons] kS – [8-by-1 vector] filtered and combined strain gauge force measurement vector. [Newtons]

trueS – [8-by-1 vector] the true forces carried by the strain gauge force transducers. [Newtons]

AxfS – [scalar] filtered and combined strain gauge reading indicating the force in the A strain gauge plane (upper) in the +x direction for the fixed pair of gauges. B plane, +y direction, spinning pairs of gauges indicated by

. [Newtons] , , , , , ,Ayf Bxf Byf Axs Ays Bxs BysS S S S S S Ssψ – [scalar] abbreviation for sinψ . [] T – [8-by-8 matrix] transformation matrix that accounts for the angle of the rotor relative to the fixed gauges. “T”

is for “transformation.” [] t - [scalar] time. [seconds] x – [vector] a vector in the general formulation of the LS problem, Ax b≅ .

, , , , ,c c xc yc xc ycx y v v a a – [scalars] position, velocity, and acceleration, in x and y directions, of the MCI. No further subscripts implies the imbalance, the subscript CW indicates the counterweights. [meters, meters/second, meters/second2]

, , , , ,p p xp yp xp ypx y v v a a – [scalars] position, velocity, and acceleration, in x and y directions, of the PMI. No further subscripts implies the imbalance, the subscript CW indicates the counterweights. [meters, meters/second, meters/second2]

W – [diagonal matrix] weighting matrix in the batch LS solution, ( ) 1ˆ T Tx A WA A Wb

−= . []

Afz – [scalar] z-axis coordinate of the and strain gauges. Coordinates of the B plane and spinning pairs

of gauges indicated by . [meters] AxfS AyfS

, ,Bf As Bsz z z

mz – [scalar] z-axis coordinate of the rotor center of mass. [meters]

American Institute of Aeronautics and Astronautics

2

Page 3: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

m xz φ – [scalar] linearizing identified variable, m x m xz zφ φ . m y m yz zφ φ is the corresponding variable for the y-axis. [meter-radians]

α – [scalar] rotor angular acceleration. [radians/second2] β – [scalar] strain gauge bias. [Newtons] Γ – [4-by-8 matrix] constant matrix that is a function of the fixed system geometry only (strain gauge locations,

etc.), used in the estimation of netF . . 1( )T TG G G−Γγ – [scalar] the generalized likelihood ratio. [] δ – [4-by-1 vector] of effective counterweight coordinates. Positions, velocities, and accelerations are indicated by

1 2 3 4 1 2 3 4 1 2 3 4δ δ δ δ δ δ δ δ δ δ δ δ⎡ ⎤⎣ ⎦ . [meters, meters/second, meters/second2]

ε – [scalar or vector] noise.

CWθ – [4-by-1 to 12-by-1 vector] the vector of counterweight parameters.

,pos desiredCWθ – [4-by-1 vector] the vector of desired counterweight position parameters.

IBθ – [4-by-1 to 12-by-1 vector] the vector of imbalance parameters to be estimated.

posIBθ – [4-by-1 vector] the vector of imbalance position parameters.

Misalignmentθ – [4-by-1 vector] the vector of spin-axis misalignment parameters to be estimated.

µ – [scalar] mean of the Gaussian probability distribution used to approximate variability in the SG residuals. σ – [scalar] standard deviation of the Gaussian probability distribution used to approximate variability in the SG

residuals.

xτ – [scalar] element of , net torque on the rotor about the +x axis of the rotor frame, caused by the imbalance.

+y direction indicated by netF

yτ . [Newton-meters]

( ,p cm mΦ ) – [4-by-4 to 4-by-12 matrix] the Φ matrix from netF θ= Φ , written as a function of the point mass

and mass couple. Can represent either or ( ,IB p cm mΦ = Φ ) ( , )CW pCW cCWm mΦ = Φ .

IBΦ – [4-by-4 to 4-by-12 matrix] the Φ matrix from netF θ= Φ , for the imbalance.

CWΦ – [4-by-4 to 4-by-12 matrix] the matrix from Φ netF θ= Φ , for the counterweights.

MisalignmentΦ – [4-by-4 matrix] the Φ matrix from netF θ= Φ , for the spin-axis misalignment.

xφ – [scalar] spin-axis misalignment angle, about the x-axis. yφ indicates misalignment about the y-axis. [radians]

ψ – [scalar] absolute rotor angle. [radians] ω – [scalar] rotor angular rate. [radians/second] Frames: unless otherwise specified calculations are in the rotor frame. Subscripts: For and its elements, no subscript means the total; additional subscripts, as in

, indicate that part of the net force due to the imbalance (IB), counterweights

(CW), and axial misalignment (Misalignment). is broken down further into that part due to the PMI,

netF, ,netIB netCW netMisalignmentF F F

netIBF

pnetIBF , and that due to the MCI, . cnetIBF

Estimated/identified values are indicated with a ^. For example, netF is the estimate of , obtained through a least squares fit of the strain gauge measurements.

netF

Units for each variable are given in [] at the end of each definition. If a variable is unit-less, empty brackets are drawn, if the units are not known exactly, no brackets are drawn.

Abbreviations are listed in Appendix A.

American Institute of Aeronautics and Astronautics

3

Page 4: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

I. Introduction The autobalancing control systems developed and presented here were developed initially for a centrifuge

hardware prototype developed at NASA Ames, and before the ISS Centrifuge design was developed. This hardware prototype is described in detail in this section, along with comparison and explanation of relevance to the ISS Centrifuge design.

A space based centrifuge will allow biological experiments below 1g (the ISS Centrifuge will allow a full range from 0-2g), for example, Mars (0.38g) and Moon (0.16g) levels of gravity, something not possible on Earth. Also, by running the centrifuge at 1g, it serves as a valuable control for comparison with experiments to be run in zero g on the ISS. Previous experiments from previous smaller space-based centrifuges have demonstrated the need for such a control.

However, other experiments aboard the ISS require micro-gravity vibration isolation. So any imbalances in the centrifuge that might cause vibrational disturbances on the ISS must be attenuated by automatic on-line balancing as well as vibration isolation of the centrifuge. The research reported here focuses only on the automatic on-line balancing and the associated fault tolerance. In an automatic balancing system, feedback from sensors measuring rotor motions or forces (e.g., strain gauges, displacement sensors, or accelerometers) is used to drive active counterweights to null the imbalance and resulting vibrations. A supporting system may include a passive or active vibration isolation system to further attenuate any vibrations emanating from the centrifuge rotor.

A. SSRL centrifuge laboratory prototype

Figure 1. The SSRL centrifuge laboratory prototype - autobalancing hardware simulator

American Institute of Aeronautics and Astronautics

4

Page 5: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

The NASA Ames Smart Systems Research Laboratory (SSRL) Centrifuge laboratory prototype, developed in 1993-1995, is shown in Figure 1‡. It can float on four 8-inch diameter Fox Air Bearings with spherical air bearing pivots, allowing the vertical spin axis to translate in x and y in response to imbalances. The spin axis is permitted to rotate slightly, as discussed below, but it is a much stiffer spring suspension than the Vibration Isolation Mechanism (VIM) of the present ISS Centrifuge design.

There are 12 counterweights (CWs) constructed of stepper motors (providing the counterbalance mass as well as actuation) and encoders that drive along lead screws (also known as ACME screws or trapezoidal screws–these are different from the ISS Centrifuge which uses ball screws). The CWs are located in upper and lower planes of 4 radial CWs and 4 vertically moving CWs. The vertically moving ones are not used in this research, and the 8 remaining CWs provide redundancy as only 4 are required. The redundant CWs may be used to simulate animal movement or creating disturbances.

There are locations for 24 strain gauges (SGs) to measure imbalance forces. Eight of them do not rotate, and are for measuring the force between the stator and the air bearing platform. No SGs are installed at those 8 locations. 8 SG locations rotate with the rotor, near the upper CW plane. Of these 8 locations, 4 SGs are installed, equally spaced through one rotation (90 degrees apart). Same goes for a plane near the lower CW plane, meaning that the hardware presently has a total of 8 rotating SGs. The SG assemblies are viscoelastic, allowing for slight displacement (on the order of 1-2 mm) and providing damping. The angular (tip-tilt) natural frequency of the rotor is on the order of 3 Hz, and the damping ratio is about 0.1. Planned, but not yet installed, are displacement sensors that would measure the base translations in the horizontal dimensions.

Hardware implementation of this autobalancing technology on the SSRL Centrifuge began in 1996, but was tabled due to lack of funding. The project lay dormant until 2001-2002 when the FDIR capability was added to the MATLAB simulation.

B. SSRL centrifuge research, historical overview

In 1993, the SSRL initiated the development of a space centrifuge testbed. The purpose was to provide an in-house capability to test advanced technologies that may greatly enhance centrifuge control and operation, and to demonstrate proof-of-concept operation. Due to funding cuts in 1995, the centrifuge testbed development effort was put on hold while the advanced technology development work continued at a lower level of effort. The testbed remains intact and can be reconfigured to reflect the current ISS Centrifuge Rotor design.

The initial SSRL goals were focused on developing advanced technologies for “real-time adaptive control of time varying nonlinear systems with unknown structures.” The rationale was that the centrifuge rotor properties were time varying and not known well since there are random animal motions, dynamic fluid coupling loads, aerodynamic effects from different habitat configurations and placements, etc. The presumptions were that centrifuge rotor balancing had to be performed in as close to real-time as possible to achieve near-perfect balance condition, and that any residual vibrational disturbances (since it is impossible to completely cancel the effect of a sudden impact) will have to be vibration isolated from the ISS to preserve the microgravity environment required by other experiments on the ISS.

One of the initial SSRL objectives was to determine the optimal configuration (of sensors, counterweights, vibration isolation actuators, and passive vibration isolation elements) for real-time centrifuge rotor balancing and vibration control and isolation. Engineering analyses were performed on various configurations including:

• Counterweights on circular rings about the spin axis

• Counterweights on linear tracks, both parallel to and radial to the spin axis

• Vibration isolation actuators mounted on the oscillating centrifuge base

• Vibration isolation actuators mounted on a stationary barrier that enclosed the oscillating centrifuge base

Other SSRL objectives include developing, testing, and validating the performance of:

• Real-time autobalancing algorithms

‡ NASA Ames SSRL engineer, Michael C. Guerrero of Guerrero Engineering ([email protected]) performed detailed mechanical design and fabrication of the SSRL Centrifuge prototype. SSRL engineer, Alessandro Galvagni developed the software for sensor and motor interfaces.

American Institute of Aeronautics and Astronautics

5

Page 6: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

• Robust centrifuge operation in face of sensor failures: online fault detection isolation reconfiguration (FDIR) using online neural networks (NN) learning technology

• Sensor noise reduction or cancellation using Adaptive Noise Cancellation technology

• Robust centrifuge operation in face of balancing mechanism failures: detection and isolation of failure, followed by reconfiguration using the remaining counterweights

• Optimum sensor configuration: rotating sensors vs. non-rotating sensors; force vs. displacement vs. acceleration; and combinations of the preceding options

• Active vibration isolation control: using long stroke voice coil actuators mounted on stationary barrier or oscillating centrifuge base (C shaped end-effectors to prevent impact contact between stationary barrier and oscillating centrifuge base)

Initial advanced technology algorithms under development have included:

• Offline/online NN mapping of sensor readings to known imbalance (counterweight compensation is then required at location 180 degrees from identified imbalance; information on individual counterweight positioning is not determined here)

• Offline/online NN pseudo inverse modeling (imbalance location, or sensor readings, to counterweight positions for the balance condition; calibrates counterweight positions for precise static/dynamic balancing)

• Nonlinear restoring force that allows free oscillation of the centrifuge base at the center of an enclosure, re-centers the centrifuge base location, and prevents impact with the enclosure barrier

Advanced technology software solutions under development employed the following:

• Levenberg-Marquardt trained, multiple layer, feed forward neural networks

• Cerebellar Model Articulation Controller (CMAC)

• Radial basis neural networks

• Maximum likelihood, recursive least squares

C. Comparison of SSRL and ISS centrifuges

During this period of technology development at the SSRL, the ISS Centrifuge design was developed by JAXA, along with contractors Toshiba and NT Space, and is now in a near final form1-5. Significant differences between the SSRL Centrifuge and the current ISS Centrifuge design are that:

• The spin axis for the SSRL Centrifuge can translate freely in x and y, but not wobble (rotational motion of the spin axis is stiffly constrained – modeled as perfectly stiff for now), whereas the ISS centrifuge spin axis has 3 translational and 2 rotational degrees of freedom, supported by a very compliant vibration isolation mechanism consisting of springs and dampers (both passive and active).

• The imbalance sensors for the SSRL Centrifuge are strain gauges both in the rotor and the stator, measuring the imbalance forces, whereas the ISS Centrifuge uses eddy current displacement sensors to measure the displacements of the compliant vibration isolation mechanism (VIM) resulting from imbalance.

Due to the differences between the two configurations, this research will need to be extended to enable application to the ISS Centrifuge. The following outlines steps towards completing this task.

1. Removing the constraint that the spin axis is fixed, allowing free or passively/actively constrained motion of the spin-axis.

2. Represent imbalance differently, to account for 3-D model – e.g., mass center location and inertia matrix

3. Use the ISS Centrifuge counterweight locations.

4. Use the ISS Centrifuge bearing displacement sensors (BDSs).

American Institute of Aeronautics and Astronautics

6

Page 7: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

5. Model the ISS Centrifuge vibration isolation mechanism (VIM), including springs and dampers, both passive and active.

6. Integrate with ADAMS from MSC Software for testing – thought is to have a simpler, medium fidelity model derived (by hand) for the autobalancer design, but then to test it on the ADAMS model that is fully nonlinear and models the rotor flexibility.

Although the configuration change is significant, it should be possible to extend the basic approaches taken for the SSRL configuration to the ISS configuration, following the overall approach of the autobalancing and FDIR systems.

The key novel concepts in the present design will apply directly to the updated design. These are: 1. Modeling the rotor as a rigid body, and condensing all sensor measurements at each time update to a

concise representation of the imbalance-induced forces and moments on the rotor.

2. A control system that follows an indirect adaptive control architecture. It explicitly estimates the imbalance parameters, with the effect of counterweights calculated and subtracted out. Then a straightforward counterweight control system drives the CWs to null the total imbalance.

3. The sensor FDIR system ties in directly with the estimation of imbalance forces and moments, allowing efficient fault detection and isolation, and then reconfiguration by ignoring the failed sensor.

4. The actuator FDIR system ties in directly with the CW control system, allowing hardware redundancy to account for a stuck CW.

5. The combined sensor and actuator FDIR systems should allow autonomous fault tolerance, allowing the system to continue operation in the face of sensor or actuator faults. The segmentation of sensing/identification and actuation/balancing facilitates this reconfiguration, as, for example, a failed actuator does not impact the identification at all.

Brief summary of the autobalancing method presented in this report: 1. The centrifuge rotor is modeled as a rigid body spinning about a fixed axis.

2. The rotor imbalance is represented in a compact, intuitive way as the x- and y-locations of a point mass in a central plane and a pair of asymmetrically located point masses in off-central planes. This four-parameter representation is sufficient to represent an arbitrary imbalance and can be intuitively related to counterweight motions.

3. The rotor imbalance (not including counterweights) is estimated at each sample period as follows:

a. Sensor signals (strain gauges, counterweight positions, velocities, and accelerations, rotor angle encoder and tachometer) are combined, using a least-squares fit, to calculate the estimated net force and torque in x and y ( xIB yIB xIB yIBF F τ τ ) created by the imbalance.

b. The four imbalance parameters (mentioned in (2) above) and their derivatives are estimated using these forces and torques. This uses a dynamic model of the rotor that calculates effects due to the position, velocity, and acceleration of the imbalance parameters.

4. The counterweights are driven to exactly counteract the estimated rotor imbalance.

This autobalancing approach can be considered an indirect method (analogous to indirect vs. direct adaptive control) since the sensor signals are used to build a model of the imbalance, then corrective action is taken based on the identified model parameters. In a direct method, (filtered, and mathematically manipulated) sensor signals would be used to directly drive the counterweights. Hopefully, this feedback loop would drive the counterweights until the sensors read zero. The increased complexity of the indirect method presented here enables more accurate fitting of the sensor data to the dynamic model of the imbalance. Whether the increased accuracy of the indirect method produces results that are sufficiently better than those of the direct method will depend on the characteristics of the imbalance (how fast it is moving, etc.) and sensor noise.

A previous similar approach was developed by the author, concluding in October 1995. The major improvement made in the current version involves breaking up the identification so that all sensor signals are reduced (combined) to result in an intermediate estimation of the net forces and torques on the rotor. In the previous approach, all sensors were used directly to identify the imbalance parameters. In the present approach, all sensors (strain gauges,

American Institute of Aeronautics and Astronautics

7

Page 8: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

counterweight positions, velocities, and accelerations, rotor angle encoder and tachometer) are used at each sample period to calculate four variables: the estimated net force and torque in x and y ( xIB yIB xIB yIBF F τ τ ) created by the imbalance. This process involves a least squares fit to the data, using a model of the sensor geometry and subtracting out known forces due to the counterweights. These four variables then pass to the imbalance identification algorithm. Benefits of segmenting the identification into these two parts are:

1. Physically, the four imbalance parameters are directly related to these four intermediate variables ( xIB yIB xIB yIBF F τ τ ). The relation between sensor values and these intermediate variables is more direct than that between sensor values and imbalance parameters. This logically separates estimation of forces and torques created by the imbalance from the estimation of imbalance parameters themselves.

2. It is easier to identify failed sensors, since the analysis can be performed without regard to the imbalance dynamics – one can analyze the residuals in the estimation of the intermediate variables.

3. If sensors change (e.g., on-line failure, design change, etc.), the second part of the identification (that finds imbalance parameters from estimated forces and torques) does not have to be changed.

4. Overall complexity is reduced by breaking one large problem into two smaller ones. No accuracy is lost, due to the physical reasoning listed in (1) above.

D. Related research

Extensive literature exists on balancing rotating machinery, including centrifuges. Some of this literature relates to on-line automatic balancing, but there is very little published work related to balancing of a space-based centrifuge. The micro-gravity dynamics, extreme sensitivity to vibrations, and requirement to track moving imbalances (due to moving rodents in the centrifuge habitats) puts this research outside the region of relevance of much of the existing work.

The developers of the actual ISS centrifuge autobalancing system at Toshiba, NEC Toshiba Space Systems, and JAXA have published summaries of their control systems1-5, which should be taken as the state of the art in this field. In any well designed control system there is an important balance between performance and complexity. Although direct comparison of the control system approach presented here with the ISS Centrifuge control system design has not been performed, it is judged that the authors’ approach will provide higher performance (faster response to imbalance changes and reduced vibration generation) and better fault tolerance at the expense of complexity of software implementation and support.

E. Reader’s guide

Section II briefly describes the control system architecture. Section III describes the imbalance parameter estimation in extensive detail. Many readers will prefer to skim

this section, as it provides in-depth documentation of the various permutations of imbalance identification algorithms. Sensor FDIR is included here.

Section IV describes the algorithms to calculate CW commands based on the identification results, along with CW FDIR.

Section V describes the MATLAB software simulation implementation, along with example results. In this report, equations are numbered. Repeated equations share the number of the original equation, with the

numbering italicized.

American Institute of Aeronautics and Astronautics

8

Page 9: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

II. Control system architecture

ID system: use sensed variables(ψ,ω,α , FxIB, FyIB, τxIB, τyIB)

and known parameters to estimateimbalance parameters (xp, yp,

xc, yc), their derivatives,and sensor biases (β1, ... , β8)

Filter, Estimator

Add, Subtract,Scale, Filter

(possibly non-causal filter),

Identify (LinearRegression)

Calculate netforces and

torques on thedisk that are dueto counterweights

only

Simple servocontrol loop to

movecounterweights todesired locations

Calculate desiredcounterweight

positions(possibly withlow-pass filter

on output)

encoder,tachometer,

motor currentsensors

raw straingauge signals,

FAx1, FAx2, ...

counterweightpositions,velocities,

accelerations

ψ,ω,α

FxFyτx

τy

xpypxcyc

CW1CW2CW3CW4

CW - counterweightIB - imbalanceFAx1 - strain gauge measurementFx - net force on disk in x-directionτx - net torque on disk about x-axisψ, ω, α - disk angle, angular rate, angular

accelerationxp - x-location of imbalance point massxc - x-location of upper mass from

imbalance couple

FxIBFyIBτxIB

τyIB

FxCWFyCWτxCW

τyCW Figure 2. Simplified control system block diagram

The control system architecture is presented in Figure 2. At the highest level the controller works in two steps: 1. the imbalance parameters are estimated ( , , , )p p c cx y x y ; and 2. the counterweight locations that null this identified imbalance are calculated and commanded.

The imbalance parameter estimation first reduces all sensor inputs into a vector of net forces and torques on the rotor ( , , , )x y x yF F τ τ , subtracts out the force vector contributed by the CWs ( , , ,xCW yCW xCW yCWF F )τ τ , leaving

the force vector attributable to the imbalance of the rotor itself, without CWs ( , , ,xIB yIB xIB yIBF F )τ τ . This vector (note that these are not physical vectors) is then used, along with a model of the centrifuge rotor, to identify the rotor imbalance parameters.

Details of the identification are presented in Section III, with sensor FDIR presented in Section III.L, and details of the counterweight control and FDIR are presented in Section IV.

III. Imbalance identification The basic approach taken here to identify the imbalance, or to estimate its parameters, is: 1. Calculate (identify) the net forces and torques on the rotor at each sample period, based upon the strain

gauge measurements. 2. Subtract out the forces due to the counterweights, leaving the forces due only to the imbalances. 3. Identify the “imbalance parameters” corresponding to these forces that define the state of imbalance in the

rotor. An indirect, model-based approach like this should work well if the form of the model can be identified correctly

and the sensors are not excessively noisy or biased. This section contains very detailed derivations of the imbalance parameter estimation algorithms, for a variety of

configuration options. However, it is important to note that the algorithms have been optimized carefully for run-time efficiency, and they reduce in the end to simple and straightforward matrix operations that are amenable to real-time implementation. The simplified algorithms are summarized in Section III.J.

The sensor FDIR system, which is tightly integrated with the imbalance parameter estimation, is described in Section III.L.

American Institute of Aeronautics and Astronautics

9

Page 10: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

A. Least squares regression background

Both the reduction of strain gauge measurements to net forces and torques, and the identification of imbalance parameters are achieved using least squares regression. The mathematics behind this approach is reviewed briefly here. The standard form for a linear least squares problem is given in Eq. (1) or (2)

Ax b ε= + (1)

Ax b≅ (2)

where is a vector of (perfect) measurements, ε is a vector of measurement noise, b x contains the parameters to be identified, and matrix A contains known variables system parameter values (i.e., A is noise-free). The ≅ in the Ax b≅ representation indicates that the left and right sides of the equation would be equal if noise were not

present6. The LS ID solution, , minimizes the sum of the squares of the elements of the error, x ˆAx b− . If the problem at hand can be put into the form of (1), with noise appearing only in the ε term, can be solved directly (i.e., this is a closed-form solution, rather than an iterative optimization as might be required if the equations can not be put into this standard form) using one of the following approaches

x6-8.

unweighted, batch algorithm: ( ) 1ˆ T Tx A A A b

−= (3)

weighted, batch algorithm: ( ) 1ˆ T Tx A WA A Wb

−= (4)

where W is a diagonal weighting matrix. Either of these algorithms can be made recursive, and the weighting matrix, W, can be chosen to weight the data

according to an exponentially decaying function – as is commonly done when implemented recursively. The recursive and batch solutions are identical since they minimize the same cost function.

In practice, many times the governing equations do not immediately fit exactly the form Ax b ε= + , with, for example, noise being present in the A matrix and the x not being immediately and linearly separated from A and

as required. So the basic approach to LS ID is to find some governing equations (the equations of motion, for example) that contain the parameter values to be identified and measurement data. Then these equations are manipulated to conform to the

b

Ax b≅ formulation, possibly requiring approximations along the way (dropping higher order terms, for example).

B. Estimation of the net forces and torques using strain gauge signals

The goal in this section is to develop a procedure to produce net force and torque estimates, netF , at each sample

period based upon strain gauge measurements. netF contains the net force and torque acting on the rotor, measured in the (rotating) rotor frame. There will be between four and eight (and possibly more) strain gauge measurements used to produce the four net force and torque signals. Strain gauges may be spinning with the rotor or fixed in the base. Each strain gauge will have a bias, which must be accounted for. The approach taken here is to solve a least-squares fit at each sample to get the net forces and torques, while keeping the bias terms separate so that they can be identified in the imbalance identification step.

For now, assume the following strain gauge layout. There are 16 strain gauges: 8 fixed, 8 spinning. They are arranged in sets of four. The upper set of fixed strain gauges is shown in the following sketch. “S” indicates “strain gauge.” “A” or “B” (not shown here) indicates the upper or lower set. “x” or “y” indicates the axis of measurement. “f” or “s” (not shown here) indicates “fixed” or “spinning” gauges. “1” or “2” identify gauges on the same axis. “1” is on the positive side of the axis and “2” is on the negative side of the axis. When there is a force on the rotor in the positive direction, “1” will be in tension and “2” will be in compression.

American Institute of Aeronautics and Astronautics

10

Page 11: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

SAxf1SAxf2

SAyf1

SAyf2

Figure 3. Strain gauge layout

The first step is to combine two strain gauges on the same axis, which should yield exactly opposite readings. To improve accuracy, these readings will combined by subtraction. For example, 1 2(Axf Axf AxfS S S ) 2= − . If a force

of +10 Newtons is applied to the rotor in the +x direction, will be in tension, reading +10 N and will

be in compression, reading -10 N. The combined value, , will be (10 - (-10))/2 = 10 N. This combined value will also be filtered to reduce sensor noise and extraneous vibrations. For now, this operation is represented as

.

1AxfS 2AxfS

AxfS

( )filter

( )( )( )( )( )( )( )( )

1 2

1 2

1 2

1 2

1 2

1 2

1 2

1 2

filter ( ) 2

filter ( ) 2

filter ( ) 2

filter ( ) 2

filter ( ) 2

filter ( ) 2

filter ( ) 2

filter ( ) 2

Axf Axf Axf

Ayf Ayf Ayf

Bxf Bxf Bxf

Byf Byf Byf

Axs Axs Axs

Ays Ays Ays

Bxs Bxs Bxs

Bys Bys Bys

S S S

S S S

S S S

S S S

S S S

S S S

S S S

S S S

= −

= −

= −

= −

= −

= −

= −

= −

(5)

Assume that this force measurement is composed of three parts: trueS S β ε= + + (6)

1) , the actual force transmitted by the combined pair of strain gauges (if the sensor were perfect, trueS trueS S= ).

However, may contain force disturbances that are not due to imbalances (such as structural vibrations). trueS

2) β , a bias term that represents the net bias of the combined pair of strain gauges (assumed to be non-time-varying). With eight strain gauge pairs, there will be eight biases.

3) ε , sensor noise, an unbiased white noise signal due to sensor error.

Putting this in vector form: true SSNS S B E= + + (7)

American Institute of Aeronautics and Astronautics

11

Page 12: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

1

2

3

4

5

6

7

8

; ;

true

true

true

true

true

true

true

true

AxfAxf

AyfAyf

BxfBxf

ByfByftrue

Axs Axs

Ays Ays

BxsBxs

BysBys

SSSSSSSS

S S BS SS SS SS S

ββββββββ

⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥= = =⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎣ ⎦⎣ ⎦ ⎢ ⎥⎣ ⎦

1

2

3

4

5

6

7

8

;

SSN

SSN

SSN

SSNSSN

SSN

SSN

SSN

SSN

E

εεεεεεεε

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥

⎥ ⎢ ⎥⎥ ⎢ ⎥⎥ ⎢ ⎥⎥ ⎢ ⎥⎣ ⎦

(8)

The “SSN” subscript in indicates Strain gauge Sensor Noise. SSNESince , the actual force at the strain gauge, can be directly calculated from the net forces and torques on the

rotor, accounting for the rotation transformation and assuming random force noise (actual forces at the strain gauges, such as vibrations, that do not result in a net force or torque on the rotor), it can be put in equation form:

trueS

true net SFNS TGF E= + , (9)

where,

T is an 8x8 transformation matrix that accounts for the angle of the rotor relative to the fixed gauges. It is a calculable direct function of ψ . The upper right and lower left quadrants are all zeros. The lower right quadrant is the identity matrix (since the spinning gauges do not require transformation). “T” is for “transformation.”

G is a constant 8x4 matrix that accounts for the strain gauge locations in the transformation from to

. It contains elements such as

netF

trueS Bf

Af Bf

zz z

−. “G” is for “geometry.”

[ Tnet x y x yF F F ]τ τ= is the vector of net forces and torques on the rotor, due to all causes (IB, CW,

axis).

[ ]1 2 3 4 5 6 7 8T

SFN SFN SFN SFN SFN SFN SFN SFN SFNE ε ε ε ε ε ε ε ε= , where “SFN” indicates “Strain gauge Force Noise.”

To derive G, first assume the rotor angle, 0ψ = , so T I= , the identity matrix. In this case,

true netS GF= (10)

American Institute of Aeronautics and Astronautics

12

Page 13: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

11 12 13 14

21 22 23 24

31 32 33 34

41 42 43 44

51 52 53 54

61 62 63 64

71 72 73 74

81 82 83 84

true

true

true

true

true

true

true

true

Axf

Ayf

Bxf

Byf

Axs

Ays

Bxs

Bys

SG G G G

S G G G GS G G G GS G G G G

G G G GSG G G GSG G G GSG G G GS

⎡ ⎤⎡⎢ ⎥⎢⎢ ⎥⎢⎢ ⎥⎢⎢ ⎥⎢⎢ ⎥⎢⎢ ⎥ = ⎢⎢ ⎥⎢⎢ ⎥⎢⎢ ⎥⎢⎢ ⎥

⎢ ⎥⎣⎢ ⎥⎣ ⎦

x

y

x

y

FFττ

⎤⎥⎥⎥ ⎡ ⎤⎥ ⎢ ⎥⎥ ⎢ ⎥⎥ ⎢ ⎥⎥ ⎢ ⎥

⎢ ⎥⎥ ⎣ ⎦⎥

⎢ ⎥⎢ ⎥⎦

(11)

Each of the elements in G can now be identified by force and torque balance equations, where the SG geometry is specified as shown in Figure 3 and Figure 5.

(12) true true

true true

x Axf Bxf

y Axf Af Bxf B

F S S

S z S zτ

= +

= + f

Solving these two equations with two unknowns,

1

1

true

true

BfAxf x y

Af Bf Af Bf

AfBxf x y

Af Bf Af Bf

zS F

z z z z

zS F

z z z z

τ

τ

−= +

− −

−= +

− −

(13)

Repeating for , y

(14) true true

true true

y Ayf Byf

x Ayf Af Byf Bf

F S S

S z S zτ

= +

= − −

1

1

true

true

BfAyf y x

Af Bf Af Bf

AfByf y x

Af Bf Af Bf

zS F

z z z z

zS F

z z z z

τ

τ

− −= +

− −

= +− −

(15)

With 0ψ = , the only difference for the spinning gauges is the different z-axis gauge locations,

1

1

1

1

true

true

true

true

BsAxs x y

As Bs As Bs

AsBxs x y

As Bs As Bs

BsAys y x

As Bs As Bs

AsBys y x

As Bs As Bs

zS Fz z z z

zS Fz z z z

zS Fz z z z

zS Fz z z z

τ

τ

τ

τ

−= +

− −

−= +

− −

− −= +

− −

= +− −

(16)

So the G matrix is:

American Institute of Aeronautics and Astronautics

13

Page 14: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

10 0

10 0

10 0

10 0

10 0

10 0

10 0

10

Bf

Af Bf Af Bf

Bf

Af Bf Af Bf

Af

Af Bf Af Bf

Af

Af Bf Af Bf

Bs

As Bs As Bs

Bs

As Bs As Bs

As

As Bs As Bs

As

As Bs As Bs

zz z z z

zz z z z

zz z z z

zz z z zG

zz z z z

zz z z z

zz z z z

zz z z z

−⎡ ⎤⎢ ⎥− −⎢ ⎥⎢ − −⎢

− −⎢⎢

−⎢⎢ − −⎢⎢⎢ − −= ⎢⎢ −⎢

− −⎢⎢ − −⎢

− −⎢⎢ −⎢

− −⎢⎢⎢

− −⎢⎣ ⎦0

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

(17)

Now allowing for 0ψ ≠ , find the transformation matrix T that performs,

0true trueS TS ψ == (18)

The spinning gauge forces are independent of the rotor angle, so the lower right quadrant is a 4x4 identity matrix. There is no coupling between spinning and fixed gauge forces, so the upper right and lower left quadrants are all zeros. The upper left quadrant performs the following transformation, where the following abbreviations are made for cos and sin, as will be done throughout this document.

c coss sinψ ψψ ψ

(19)

0

( ) 00 ( )true true

RS

R ψ

ψψ

S =

⎡ ⎤= ⎢ ⎥

⎣ ⎦ (20)

0

0

0

0

c s 0 0s c 0 00 0 c s0 0 s c

truetrue

truetrue

true true

truetrue

AxfAxf

AyfAyf

Bxf Bxf

ByfByf

SS

SS

S SS S

ψ

ψ

ψ

ψ

ψ ψψ ψ

ψ ψψ ψ

=

=

=

=

⎡ ⎤⎡ ⎤ −⎡ ⎤ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥=⎢ ⎥ ⎢ ⎥− ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦ ⎢ ⎥⎣ ⎦ ⎣ ⎦

(21)

So the T matrix is,

American Institute of Aeronautics and Astronautics

14

Page 15: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

(22)

c s 0 0 0 0 0 0s c 0 0 0 0 0 00 0 c s 0 0 0 00 0 s c 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1

T

ψ ψψ ψ

ψ ψψ ψ

−⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥−⎢ ⎥⎢= ⎢⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

⎥⎥

1T − will be needed at each sample, so rather than calculate it numerically at run-time it is calculated analytically here. At each sample cosψ and sinψ need to be calculated once only.

(23) 1

c s 0 0 0 0 0 0s c 0 0 0 0 0 00 0 c s 0 0 0 00 0 s c 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1

T

ψ ψψ ψ

ψ ψψ ψ−

⎡ ⎤⎢ ⎥−⎢ ⎥⎢ ⎥⎢ ⎥−⎢= ⎢⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

⎥⎥

Now that and T have been derived, Eq. (7) and (9) are repeated here and combined to yield, G true SSNS S B E= + + (7)

true net SFNS TGF E= + (9)

net SFN SSNS TGF B E E= + + + (24)

Rearranging, (net SFN SSNS B TGF E E )− = + + (25)

(26) 1 1( ) (net SFN SSNT S B GF T E E− −− = + + )

) (27) 1 1( ) (net SFN SSNGF T S B T E E− −= − − +

This is now in the standard form for a least squares problem (“regression form”): Ax b ε= + , where

1

1

( )( )

net

SFN SSN

A Gx F

b T S BT E Eε

==

= −

= − +

(28)

The least-squares solution for this equation is ( ) 1ˆ T Tx A A A b

−= . The representation in Eq. (25), with ( )S B−

as and as b TG A , could have been used; however, pre-multiplying by 1T − keeps the A matrix constant, so it

American Institute of Aeronautics and Astronautics

15

Page 16: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

(and ( ) 1T TA A A−

) does not need to be re-calculated at each update. The least-squares minimization will be derived

here for this problem.

Least squares problem statement

Assume a system governed by the above equation. 1T − and G are known.§ is measured, but is corrupted by

the bias and noise terms as shown. Find

SnetF that can reproduce by the equation

, where the error ( )1(T S B− − )

1 ˆ( ) netT S B GF− − = ( )1ˆ ˆ( ) (T

net netGF T S B GF T S B− −− − − −1 ) is minimized. The idea is

that by finding netF that minimizes this quadratic cost function will be close to the actual , and this problem formulation is mathematically easy to solve, as quickly derived below.

netF

( ) ( )1ˆ

ˆ ˆmin ( ) ( )net

T

net netFJ GF T S B GF T S B− −= − − − −1 (29)

The cost J is minimized when 0net

JF∂

=∂

.

( )( ) ( )( )( )( )( )

( )

( ) ( ) ( ) ( )

1 1

1

1

1

1 1 1

ˆ ˆ0 2ˆ ˆ

ˆ0 2

ˆ0ˆ

ˆ

T

net netnet net

Tnet

T Tnet

T Tnet

T T T Tnet

J GF T S B GF T S BF F

G GF T S B

G GF G T S B

G GF G T S B

G G G G F G G G T S B

− −

− − −

∂ ∂= = − − − −

∂ ∂

= − −

= − −

= −

= −

(30)

( )( ) ( )( )1 1ˆ T TnetF G G G T S B

− −= −

)

(31)

Summarizing, Eq. (32) shows how the filtered strain gauge signals can be processed, along with estimated SG biases, to produce the estimated net force and torque on the rotor at any given sample time.

1ˆ (netF T S B−= Γ − (32)

ˆ

ˆˆˆˆ

x

ynet

x

y

F

FFττ

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(33)

§ 1T − is based on measurements of ψ , but this is highly accurate compared with other measurements. G is based upon measurement of the strain gauge locations, which is assumed to be highly accurate. Additionally, the assumption that the system is governed by the given equation is an important one. Every effort has been made to account for all effects in the model, such as axis misalignment and sensor biases, but there are sure to be some effects that remain unaccounted for.

American Institute of Aeronautics and Astronautics

16

Page 17: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

11 13 15 17

11 13 15 171

32 34 36 38

32 34 36 38

0 0 00 0 0 0

( )0 0 0 0

0 0 0

T TG G G−

Γ Γ Γ Γ⎡ ⎤⎢ ⎥

0

0

Γ Γ Γ⎢ ⎥Γ =⎢ ⎥

ΓΓ Γ Γ Γ

⎢ ⎥−Γ −Γ −Γ −Γ⎣ ⎦

(34)

1

2

3

41

5

6

7

8

c s 0 0 0 0 0 0s c 0 0 0 0 0 00 0 c s 0 0 0 00 0 s c 0 0 0 0

, ,0 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1

Axf

Ayf

Bxf

Byf

Axs

Ays

Bxs

Bys

SSSS

T SSSSS

B

βψ ψβψ ψβψ ψβψ ψββββ

⎡ ⎤ ⎡ ⎤⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥− ⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎢ ⎥− ⎢ ⎥ ⎢⎢ ⎥= ⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥⎢ ⎥ ⎢⎣ ⎦ ⎣ ⎦⎣ ⎦

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

(35)

The term, is a constant 4x8 matrix that is a function of the fixed system geometry only (strain

gauge locations, etc.). It is calculated once only, and renamed

1( )TG G G− T

Γ , where . Due to symmetries, some of the elements of are always zero, and other elements are duplicates. There are only 8 independent elements, as shown in Eq. (34).

1( )TG G G−Γ T

Γ

1T − is a function of ψ , and is calculated at each sample. This is an 8x8 matrix, but the inverse is performed analytically, so only eight terms need to be updated at each sample. There are only two independent elements.

S is the 8x1 vector of measurements resulting from the filtering and combination of strain gauge pairs, as shown in Eq. (8).

B is the 8x1 bias vector. In the calculation, the estimated value, , is used since is not directly known. is calculated in Section III.I.4.

B B B

C. Parametric structure to model a general state of imbalance in the rotor

A general form for the imbalance that is capable of representing any possible imbalance is required. An x-y-z point mass location combined with a 3x3 inertia matrix describing the spun portion of the centrifuge (the “rotor”) could be used, but a more compact** and intuitive representation is presented here. This arbitrarily chosen imbalance model structure has been proven to be sufficiently general to model any possible imbalance.††

The form chosen contains two specific perturbations to a perfectly balanced rotor. These “model imbalances” are:

1) A “point-mass” imbalance (PMI) located on the plane equidistant from the two counterweight planes.

2) A “mass-couple” imbalance (MCI) composed of two equal masses located symmetrically about the center of the coordinate system. Each mass is in one of the planes containing the counterweights.

It is not possible to represent a general state of imbalance with only a single point mass located somewhere within the rotor. This is most easily demonstrated by considering a perfect rotor that has two equal masses added to it symmetrically about the mass center (similar to the “mass-couple” imbalance above). This situation can not be represented by a single point mass imbalance, proving that it is not a general representation.

** The structure presented is minimal (4 parameters), while still representing all mass properties that matter. For the case of a free spin axis, as with the current ISS Centrifuge design, this set is no longer sufficient. ††See Appendix C.

American Institute of Aeronautics and Astronautics

17

Page 18: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

The forces acting on each of these model imbalances (PMI, MCI) are due to gravity, rotor motion (centrifugal acceleration and angular acceleration), and imbalance motion (Coriolis effects, imbalance acceleration)‡‡. The imbalance-induced net forces and torques on the rotor will be calculated as

functions of the rotor motion ([ , , , ]T

netIB xIB yIB xIB yIBF F F τ τ, , )ψ ω α , fixed system parameters (gravity, g, and rotor geometry), and imbalance

parameters. Once measurements of actual net forces torques and rotor motions are available, it will be possible to estimate the imbalance parameters.

x, y, z are fixed in the disk frameX, Y, Z are fixed on the de-spun portion of the

centrifugeψ(t) is the angle of the disk - the only rotational

degree of freedomA, B represent the upper and lower portions of

the diskz = 0 at the midpoint between the

counterweight planes

A

B

Xx

y

z

ψ

Z

Figure 4. Coordinate system used to describe imbalances and their effects

The coordinate system is shown in Figure 4, with the z-axis locations shown in detail in Figure 5. An xyz Cartesian coordinate system is used to describe imbalance locations fixed within the rotor. The rotor angle, ( )tψ , describes the relative angular position of the rotor with respect to the non-spinning (i.e. “de-spun”) portion of the centrifuge§§. The rotor angular velocity, ( )tω , and angular acceleration, ( )tα , are the first and second derivatives of ( )tψ with respect to time.

A (B) refers to the upper (lower) part of the diskmp, mc are the imbalance massesm is the mass of the diskCWA, CWB are the planes of the counterweights (z = +/- l by

definition)SAs is the plane of the upper (A) spinning (s) strain gauges (S)SAf is the plane of the upper (A) fixed (f) strain gauges (S)SBs is the plane of the lower (B) spinning (s) strain gauges (S)SBf is the plane of the lower (B) fixed (f) strain gauges (S)zm is the z-axis coordinate of the disk c.o.g.zAs is the z-coordinate of SAszAf is the z-coordinate of SAfzBs is the z-coordinate of SBszBf is the z-coordinate of SBfz = 0 is chosen arbitrarily as the midpoint between CWA and CWB

A

B

z

l

l

SAsCWA

SAf

zAslzAf

z = 0

mp

mc

mC

SBfCWBSBs

zBf- l

zBs

zmm

Figure 5. Z-axis locations of strain gauges, counterweights, and imbalances

The origin of the xyz coordinate system is fixed on the axis of rotation at the midpoint between the upper (A) and lower (B) counterweight planes. The “mass-couple” imbalances, shown in Figure 5, are defined arbitrarily to lie in the same planes as the counterweights. The “point-mass” imbalance is chosen arbitrarily to lie in the plane

‡‡The rotor angular acceleration force, Coriolis force, and force due to imbalance acceleration are expected to be minimal, but will be included for completeness. §§Although the centrifuge base may actually rotate slightly, this will be a small effect, and it is neglected in this analysis.

American Institute of Aeronautics and Astronautics

18

Page 19: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

equidistant between these two planes. The z-axis coordinate of this plane is defined to be . The z-axis coordinates of the upper and lower counterweight planes are defined to be

0z =z l= and z l= − .

Two types of strain gauges will be used on both the upper and lower parts of the rotor. “Fixed” gauges ( and

) will be attached to the non-spinning base, and “spinning” gauges ( and ) will be mounted on the spinning rotor. As their z-axis coordinates may not be symmetric, each of the four strain gauge locations has its own coordinate label, , as shown in Figure 5.

AfS

BfS AsS BsS

, , ,As Af Bs Bfz z z zTo summarize, the physical locations of the counterweight planes define the locations of the z-axis and the

model imbalances (PMI and MCI). Fa is the force on the point masses

due to angular acceleration (notshown in the figures)

Fc is the force on the point massesdue to centrifugal acceleration

Fg is the force on the point massesdue to gravity

Fx is the net force on the disk in the+x direction (Fy is not shown)

τy is the net torque about the y axis

of the disk (τx is not shown)Forces due to imbalance motion

(coriolis and acceleration) arenot shown here.

A

B

Fg

Fc

Fg

Fc

A

BFg

Fc

ω

Fxτy Fx (= 0)

τy

Figure 6. Model imbalances

Point-mass imbalance (PMI), Mass-couple imbalance (MCI), and their effects on the rotor. Figure 6 shows the model imbalances used to describe the general state of imbalance in the rotor. These discrete

point masses, if placed in the correct locations, can produce the same effects as any imbalance in the rotor. The proof for this assumes that any state of imbalance can be described by a (possibly large) number of point masses of varying mass and location. The net forces and torques due to each of these many masses is calculated, summed, and shown to be equal to the net forces and torques due to the two model imbalances (PMI, MCI), provided the

imbalance parameters are chosen correctly (for example, , where and 1

n

p p i ii

m x m x=

= ∑ im ix represent the mass

and x-coordinate of each of the many point masses). The effective net forces and torques on the rotor due to the model imbalances will be calculated next.

D. Net forces and torques due to the model imbalance

Even though the spin axis is not perfectly rigid, it is modeled as such in this analysis.

1. Point-mass imbalance

The first model imbalance, the point-mass imbalance, has a mass equal to and is located in the x-y plane,

with . The mass magnitude, x-y location, x-y velocity, and x-y-z acceleration all affect the net forces and torques on the rotor in the x and y directions (the effect due to acceleration in the z-direction is small, and will later be dropped). Therefore, [ , define the imbalance parameters for the PMI (the value of

is arbitrary).

pm0z =

, , , , ,p p p xp yp xp ypm x y v v a a ]

pmNote that these forces and torques are computed in the rotor frame.

American Institute of Aeronautics and Astronautics

19

Page 20: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

For example, is the net force on the rotor aligned with the +x axis of the rotor. Since forces and torques aligned with the z-axis will not be measured by the strain gauges, they are not included here. The point-mass imbalance results in the following net forces and torques, with :

xF

[ ]p p p p

TnetIB xIB yIB xIB yIBF F F τ τ

p

gF , the force due to gravity. This acts straight down at all times*** and is independent of rotor motion. Its effect

on the rotor appears as a torque equal to , where is the radial distance from the axis of rotation. p pm gr pr

,

0 0p g

T

netIB p p p pF m gy m gx⎡ ⎤= −⎣ ⎦ (36)

cF , the centrifugal force. This acts radially outwards whenever the rotor is rotating, and is proportional to the angular velocity squared. Its effect on the rotor appears as a force in the direction of the point mass location vector ( , )p px y and with a magnitude equal to 2

p pm r ω .

,

2 2 0 0p c

T

netIB p p p pF m x m yω ω⎡ ⎤= ⎣ ⎦ (37)

Fα , the force due to rotor angular acceleration. This force acts perpendicular to the point mass location vector

( , )p px y whenever the rotor has an angular acceleration, and is proportional to the angular acceleration. Its effect on the rotor is a force in the direction perpendicular to the point mass location vector and with a magnitude equal to p pm r α .

,

0 0p

T

netIB p p p pF m y m xα

α α⎡ ⎤= −⎣ ⎦ (38)

vF , the Coriolis force due to the imbalance moving within the rotor. This force acts perpendicular to the

imbalance velocity, and is proportional to the imbalance velocity and the rotor angular velocity. ( , )xp ypv v

,

2 2 0p v

T

netIB p yp p xpF m v m vω ω 0⎡ ⎤= −⎣ ⎦ (39)

aF , the force due to the imbalance accelerating within the rotor. This acts in the opposite direction of the

acceleration, ( , . , )xp yp zpa a a

(40) ,p a

T

netIB p xp p yp p zp p p zp pF m a m a m a y m a x⎡= − − −⎣ ⎤⎦

2. Mass-couple imbalance

The second model imbalance, the mass-couple imbalance, consists of two point masses of mass . The z-axis location of the upper (lower) point mass is chosen arbitrarily to lie in the same plane as the upper (lower) counterweights. Since the masses are located symmetrically about the geometric center of the rotor by definition, the x-y location of the upper point mass

cm

( , )c cx y also determines the lower point mass location ( , )c cx y− − . There is

no net force due to gravity, also due to symmetry. Positions ( , )c cx y , velocities ( , , and accelerations

of the imbalance masses are always equal and opposite by definition. Therefore,

define the imbalance parameters for the MCI. The MCI results in the following forces on the rotor in the rotor frame:

)xc ycv v( ,xc yca a )

]

[ , , , , , ,c c c xc yc xc ycm x y v v a a

***Effects due to misalignment between the gravity vector and the axis of rotation are described in Section III.F

American Institute of Aeronautics and Astronautics

20

Page 21: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

gF , the force due to gravity, is zero by definition. This is because the masses are defined to be symmetrically located about the center of the rotor coordinate system

[ ],

0 0 0 0c g

TnetIBF = (41)

cF , the centrifugal force. This acts radially outwards whenever the rotor is rotating, and is proportional to the angular velocity squared.

,

2 20 0 2 2c c

T

netIB c c c cF m ly mω ω lx⎡ ⎤= −⎣ ⎦ (42)

Fα , the force due to rotor angular acceleration. This force acts perpendicular to each point mass location vector whenever the rotor is accelerating, and is proportional to the angular acceleration.

[ ],

0 0 2 2c

TnetIB c c c cF m lx m

αα α= ly

lv

(43)

vF , the Coriolis force due to the imbalance moving within the rotor. This force acts perpendicular to the

imbalance velocity, and is proportional to the imbalance velocity and the rotor angular velocity. ( , )xc ycv v

,

0 0 4 4c v

T

netIB c xc c ycF m lv mω ω⎡ ⎤= ⎣ ⎦ (44)

aF , the force due to the imbalance accelerating within the rotor. This acts in the opposite direction of the

acceleration, ( , . ,xc yc zca a a )

a x

,

,

(45) ,

0 0 2 ( ) 2 ( )c a

T

netIB c yc zc c c xc zc cF m a l a y m a l⎡ ⎤= − − +⎣ ⎦Adding the net forces and torques on the rotor that are created by the two imbalances (forces are calculated in the

rotor frame):

, , , ,

, , , ,

p p g p c p p v p a

c c g c c c c v

p c

netIB netIB netIB netIB netIB netIB

netIB netIB netIB netIB netIB netIB

netIB netIB netIB

F F F F F F

F F F F F F

F F F

α

α

= + + + +

= + + + +

= +c a

))

(46)

2

2

2

2

22

00

2 2 4 2 (

2 2

x p p p p p yp p xp

y p p p p p xp p yp

x p p p zp p

y p p p zp pIB

c c c c c xc c yc zc c

c c

F m x m y m v m aF m y m x m v m a

m gy m a ym gx m a x

m ly m lx m lv m a l a ym lx

ω α ωω α ω

ττ

ω α ωω

⎡ ⎤+ + −⎡ ⎤⎢ ⎥⎢ ⎥ − − −⎢ ⎥⎢ ⎥ = +⎢ ⎥⎢ ⎥ − −⎢ ⎥⎢ ⎥

+⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

− + + + −+ 4 2 (c c c yc c xc zc cm ly m lv m a l a xα ω

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥+ + − +⎢ ⎥⎣ ⎦

(47)

American Institute of Aeronautics and Astronautics

21

Page 22: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

2

2

2

2

22

2 2 4 2 (2 2 4 2 (

x p p p p p yp p xp

y p p p p p xp p yp

x p p p zp p c c c c c xc c yc zc c

y p p p zp p c c c c c yc c xc zc cIB

F m x m y m v m aF m y m x m v m a

m gy m a y m ly m lx m lv m a l a ym gx m a x m lx m ly m lv m a l a x

ω α ωω α ω

τ ω α ωτ ω α ω

⎡ ⎤+ + −⎡ ⎤⎢ ⎥⎢ ⎥ − − −⎢ ⎥⎢ ⎥ = ⎢⎢ ⎥ − − − + + + −⎢⎢ ⎥

+ + + + + − +⎢ ⎥ ⎢⎣ ⎦ ⎣ ⎦

))

⎥⎥⎥

(48)

Putting the equations in a linear form so that the linear regression can be applied later requires dropping the second order terms (containing products of imbalance parameters). These are some of the terms due to acceleration of the imbalance within the rotor frame—likely to be small.

2

2

2

2

0202

22 2 4 222 2 4 2

x p p p p p yp p xp

y p p p p p xp p yp

x p zp p c zc cp p c c c c c xc c yc

y p zp pp p c c c c c yc c xcIB

F m x m y m v m aF m y m x m v m a

m a y m a ym gy m ly m lx m lv m lam a x mm gx m lx m ly m lv m la

ω α ωω α ω

τ ω α ωτ ω α ω

⎡ ⎤+ + −⎡ ⎤⎢ ⎥⎢ ⎥ − − −⎢ ⎥⎢ ⎥ = +⎢ ⎥⎢ ⎥ − −− − + + +⎢ ⎥⎢ ⎥ ++ + + −⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

2

2

2

2

22

2 2 4 22 2 4 2

c zc c

p p p p p yp p xp

p p p p p xp p yp

p p c c c c c xc c yc

p p c c c c c yc c xc

a x

m x m y m v m am y m x m v m a

m gy m ly m lx m lv m lam gx m lx m ly m lv m la

ω α ωω α ω

ω α ωω α ω

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

⎡ ⎤+ + −⎢ ⎥− − −⎢ ⎥≈ ⎢ ⎥− − + + +⎢ ⎥

+ + + −⎢ ⎥⎣ ⎦

(49)

Putting these equations in matrix form, separating known/measured variables from the parameters to be identified,

( , )netIB IB IB p c IBF m mθ θ= Φ = Φ (50)

(51)

2

2

2

2

0 00 0

( , )0 2 2

0 2 2

0 2 0 0 0 0 02 0 0 0 0 0

0 0 4 0 0 0 0 20 0 0 4 0 0 2 0

p p

p pIB p c

p c c

p c c

p p

p p

c c

c c

m mm m

m mm g m l m l

m g m l m l

m mm m

m l m lm l m l

ω αα ω

α ωω α

ωω

ωω

⎡⎢−⎢Φ = Φ ⎢ − −⎢⎢⎣

− ⎤⎥− − ⎥⎥⎥− ⎦

0

(52) T

IB p p c c xp yp xc yc xp yp xc ycx y x y v v v v a a a aθ ⎡ ⎤⎣ ⎦

where IBθ is a 12x1 column vector of the model-imbalance parameters. Φ is a 4x12 matrix that is a function of them point-mass and mass-couple mass magnitudes chosen. Done this way, Φ may be used later to model the counterweight forces and torques.

pm , and may be chosen arbitrarily, since they simply scale the values of the other parameters. In this analysis, they will be chosen to equal 1 (kilogram) so they will later drop out of the equations completely.

cm

Note that the MCI produces torques only—no forces, and the PMI produces no torques except for the gravity effects.

While this equation contains the full effects of the imbalance on the net force and torque applied to the rotor, it does not follow that all terms should be included in the identification to follow. If the forces and torques due to imbalance velocity and acceleration (vs. position) are relatively small, and are also relatively difficult to identify

American Institute of Aeronautics and Astronautics

22

Page 23: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

accurately due to the presence of noise and other disturbances, better identification of the imbalance position terms may be achieved by omitting the velocity and acceleration terms. The following equation shows the simplified case where both velocity and acceleration terms have been dropped.

2

2

2

2

0 00 0

,0 2 2

0 2 2

netIB IB IB

pp p

pp pIB IB

cp c c

cp c c

F

xm mym mxm g m l m lym g m l m l

θ

ω αα ω

θα ωω α

= Φ

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥−⎢ ⎥ ⎢ ⎥Φ ⎢ ⎥ ⎢ ⎥− −⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦⎣ ⎦

(53)

E. Net forces and torques due to the counterweights

If the forces and torques due to the counterweights can be calculated and subtracted from the measured forces and torques, the remaining signal can be used to identify the imbalance alone. The basic approach to deriving the effects of the counterweights is to calculate the equivalent set of model-imbalance parameters and then use the equations already derived in Section III.D.

Problem definition: Using the same structure used to model the imbalance, counterweight parameters, , , and pCWm cCWm CWθ ,

define the counterweight properties that result in net forces and torques on the rotor, where

(54)

CW pCW pCW cCW cCW xpCW ypCW xcCW ycCW

T

xpCW ypCW xcCW ycCW

x y x y v v v v

a a a a

θ ⎡⎣

⎤⎦

Unlike the model-imbalance parameters, which must be identified, the counterweight parameters can be calculated based on measurements of CW positions and/or motor command signals. These parameters can then be used, at each sample update, to calculate the net forces and torques applied to the rotor by the counterweights.

The counterweights are arranged in the layout shown in Figure 7. The positions of each of the four counterweights are described by [ ]1 2 3 4δ δ δ δ . 1δ is the counterweight in the upper plane in the +x

direction, 2δ is the counterweight in the upper plane in the +y direction, 3δ is the counterweight in the lower plane

in the +x direction, 4δ is the counterweight in the lower plane, in the +y direction. is the mass of the moving

portion of the counterweight assembly. The origins of the axes for CWm

1δ , 2δ , 3δ , and 4δ are chosen so that with

0δ = , the net effect of the counterweight assembly is zero, regardless of where the counterweight actually is—this is the position where the moving counterweight is exactly counterbalanced by the corresponding fixed dead weight.

The velocities and accelerations are described by the first and second derivatives of the position signals,

1 2 3 4 1 2 3 4δ δ δ δ δ δ δ δ⎡⎣ ⎤⎦ . Sensors will not be used to measure these signals directly (i.e., no

accelerometer or tachometer feedback), and since the velocity and acceleration effects are likely to be small, they will not be calculated in the autobalancing system. However, their effects are included here and in the simulation for completeness. For this analysis, the counterweight coordinate vector,

1 2 3 4 1 2 3 4 1 2 3 4δ δ δ δ δ δ δ δ δ δ δ δ⎡ ⎤⎣ ⎦ , is assumed to be available at all times.

The first step is to calculate the counterweight parameters, CWθ , from the counterweight coordinate vector. The basic approach is to add the individual effects of each of the counterweights and select the counterweight parameters to yield the same effects. The equations are simplified using the fact that the counterweights all have mass equal to

(this is the moving portion of the counterweights). CWm

American Institute of Aeronautics and Astronautics

23

Page 24: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

δ1

Point mass locationfor counterweights

MovingCounterweight #2

(xpCW, ypCW, 0)

Counterweight #1fixed dead weight

Counterweight #2fixed dead weight

δ2

δ1, δ2 coordinates describing positionof upper moving counterweights

δ3, δ4 are in lower plane, not shown.xpCW, etc. are based upon δ3 =δ1 and δ4 = 0.

xpCW, ypCW effective counterweight pointmass location ( = (δ1,δ2/2) forthe coordinates given)

xcCW, ycCW effective counterweight masscouple location ( = (0, δ2/2) forthe coordinates given)

Mass couple locationsfor counterweights

(xcCW, ycCW, l)

(-xcCW, -ycCW, -l)

Figure 7. Counterweight coordinates

1 3

2 4

1 3

2 4

1 3

2 4

4

( ) 4

( ) 4

( )

( )

( )

( )

pCW CW

pCW

pCW

xpCW pCW

ypCW pCW

xpCW xpCW

ypCW ypCW

m m

x

y

dv xdtdv ydtda vdtda vdt

δ δ

δ δ

δ δ

δ δ

δ δ

δ δ

=

= +

= +

= = +

= = +

= = +

= = +

4

4

4

4

1 3

2 4

1 3

2 4

1 3

2 4

2( ) 4( ) 4

( )

( )

( )

( )

cCW CW

cCW

cCW

xcCW cCW

ycCW cCW

xcCW xcCW

ycCW ycCW

m mxy

dv xdtdv ydtda vdtda vdt

δ δδ δ

δ δ

δ δ

δ δ

δ δ

4

4

4

4

=

= −

= −

= = −

= = −

= = −

= = −

(55)

Since the counterweight parameters are defined the same as the imbalance parameters, a slightly modified version of Eq. (50) can be used to calculate the net CW force, without need to re-derive the physics. This means that the from Eq. (51) can be used directly if and are used in place of and . Φ pCWm cCWm pm cm

( , )netCW CW CW pCW cCW CWF m mθ θ= Φ = Φ (56)

American Institute of Aeronautics and Astronautics

24

Page 25: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

2

2

2

2

0 00 0

( , )0 2 2

0 2 2

0 2 0 0 0 0 02 0 0 0 0 0

0 0 4 0 0 0 0 20 0 0 4 0 0 2 0

pCW pCW

pCW pCWCW pCW cCW

pCW cCW cCW

pCW cCW cCW

pCW pCW

pCW pCW

cCW cCW

cCW cCW

m mm m

m mm g m l m l

m g m l m l

m mm m

m l m lm l m l

ω αα ω

α ωω α

ωω

ωω

⎡⎢−⎢Φ = Φ ⎢ − −⎢⎢⎣

− ⎤⎥− − ⎥⎥⎥− ⎦

0

(57)

and CWθ is defined in Eq. (54).

Depending on the accuracy of estimating the velocity and acceleration of the counterweights, it may be better to drop those terms from the autobalancing controller. The following equation shows the simplified case where both velocity and acceleration terms have been dropped.

2

2

2

2

0 00 0

,0 2 2

0 2 2

netCW CW CW

pCWpCW pCW

pCWpCW pCWCW CW

cCWpCW cCW cCW

cCWpCW cCW cCW

F

xm mym mxm g m l m lym g m l m l

θ

ω αα ω

θα ωω α

= Φ

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢−⎢ ⎥ ⎢Φ ⎢ ⎥ ⎢ ⎥− −⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦⎣ ⎦

⎥⎥ (58)

F. Net forces and torques due to axis misalignment during Earth-based testing

The misalignment between the rotor axis of rotation and the gravity vector will cause strain gauge measurements that are not due to the imbalances. If significant, these forces must be accounted for so that the model imbalance parameters may be properly identified. The misalignment is quantified by the misalignment angle in the x and y directions, xφ and yφ as shown in Figure 8. This misalignment causes a constant force on the fixed strain gauges and oscillating forces on the spinning strain gauges.

The misalignment causes forces due to the model imbalances and counterweights as well, but as these are second order effects, they will not be considered. These terms will not apply for the space station centrifuge, as it is in a micro-gravity environment.

American Institute of Aeronautics and Astronautics

25

Page 26: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

ω

φx g

zm

Figure 8. Misalignment between the axis of rotation and the gravity vector results in additional forces that

are not due to imbalances (during Earth-based testing only)

netMisalignmentF , the force due to the axis misalignment, is affected by the total mass of the rotor, m, the z-axis

location of the rotor center of mass (CM), , and the misalignment angles, mz xφ and yφ . Angles are assumed to be

small, so sinφ φ≈ . It results in the following net forces and torques on the rotor, measured in the base frame (indicated by the “base” superscript in the following equations).

Tbase

netMisalignment x y y m x mF mg mg mg z mgφ φ φ φ z⎡ ⎤= −⎣ ⎦ (59)

Unlike the forces due to imbalances, these forces do not rotate with the rotor. To calculate the forces in the rotor frame, they are rotated by an angle ψ− :

(60) ( ) 00 ( )

basenetMisalignment netMisalignment

RF

ψ−⎡ ⎤

= ⎢ ⎥−⎣ ⎦F

c sc s 0 0s cs c 0 0c s0 0 c s

s c0 0 s c

basex yx

basex yy

netMisalignment basey m x mx

basey m x my

mg mgFmg mgF

Fmg z mg z

mg z mg z

φ ψ φ ψψ ψφ ψ φ ψψ ψ

φ ψ φ ψτψ ψφ ψ φ ψτψ ψ

+⎡ ⎤ ⎡ ⎤⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ − +− ⎢ ⎥ ⎢ ⎥⎢ ⎥= =⎢ ⎥ ⎢ ⎥− +⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ +− ⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦

(61)

The parameters describing the imbalance must appear linearly in the equation if they are to be identified using a linear regression, so the torque terms containing m xz φ and m yz φ must be changed. New variables m x m xz zφ φ

and m y m yz zφ φ are introduced to maintain linearity.

c ss cc s

s c

x y

x ynetMisalignment

m y m x

m y m x

mg mgmg mg

Fmgz mgz

mgz mgzφ φ

φ φ

φ ψ φ ψφ ψ φ ψ

ψ ψψ ψ

+⎡ ⎤⎢ ⎥− +⎢ ⎥=⎢ ⎥− +⎢ ⎥+⎢ ⎥⎣ ⎦

(62)

Putting these equations in matrix form, separating variables from the parameters to be identified, netMisalignment Misalignment MisalignmentF θ= Φ (63)

American Institute of Aeronautics and Astronautics

26

Page 27: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

c s 0 0-s c 0 0

0 0 s -c0 0 c s

Misalignment mg

ψ ψψ ψ

ψ ψψ ψ

⎡ ⎤⎢ ⎥⎢ ⎥Φ⎢ ⎥⎢ ⎥⎣ ⎦

(64)

x

yMisalignment

m x

m y

zz

φ

φ

φφ

θ

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(65)

c s 0 0-s c 0 0

0 0 s -c0 0 c s

x

ynetMisalignment

m x

m y

F mgzz

φ

φ

φψ ψφψ ψ

ψ ψψ ψ

⎡ ⎤⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢= ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦

(66)

Since Misalignmentθ will be identified (so that this effect may be subtracted out and not corrupt imbalance identification), may be chosen arbitrarily, so exact knowledge of the total rotor mass is not required. For

example, if the chosen mg is too low, larger values for

mg

Misalignmentθ will result, but will be the same. Using a fairly accurate value for will make the identified misalignment angles accurate, in case they are desired for some other reason.

netMisalignmentFmg

G. Net force and torque noise

There are likely to be unmodeled net forces and torques on the rotor. Hopefully these will be small, random, and uncorrelated. If they are not, they should be identified separately (as was done for the axial misalignment effects). Here, such unknown net forces and torques are modeled as a white Gaussian noise source, , where the “NFN” subscript indicates “Net Force Noise.”

NFNE

[ ]1 2 3 4T

NFN NFN NFN NFN NFNE ε ε ε ε= (67)

H. Superposition of these forces

The linear matrix Eq. (68) is formed by adding the net forces and torques on the rotor, [ T

net x y x yF F F ]τ τ , due to the model-imbalance parameters, IBθ , counterweight parameters, CWθ , and

axis misalignment parameters, Misalignmentθ ,

(68) ( , ) ( , )

net netIB netCW netMisalignment NFN

p c IB pCW cCW CW Misalignment Misalignment NFN

F F F F E

m m m m Eθ θ θ

= + + +

= Φ + Φ + Φ +

where each term is specified in an earlier equation:

( ,p cm mΦ ) – Equation (51) – calculable using known parameters and measurements

IBθ – Equation (52) – unknown, will be identified on-line

( ,pCW cCWm mΦ ) – Equation (57) – calculable using known parameters and measurements

American Institute of Aeronautics and Astronautics

27

Page 28: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

CWθ – Equation (54) – calculable using known parameters and measurements

MisalignmentΦ – Equation (64) – calculable using known parameters and measurements

Misalignmentθ – Equation (65) – unknown, may be identified on-line or calibrated off-line

NFNE – Equation (67) – noise

Section III.A presented a linear regression method to estimate the net force, netF , at each sample period using the available strain gauges. Note that that method operates completely independently of any consideration of imbalances, counterweights, etc.

The following sections are aimed at manipulating Eq. (68) to enable identification of IBθ and Misalignmentθ so

that IBθ may be used to guide the counterweight positioning.

I. Identification of the unknown parameters

The net forces and torques on the rotor are due to the sum of the imbalance, counterweight, and axial misalignment forces as shown in Eq. (68), repeated here.

(68) ( , ) ( , )

net netIB netCW netMisalignment NFN

p c IB pCW cCW CW Misalignment Misalignment NFN

F F F F E

m m m m Eθ θ θ

= + + +

= Φ + Φ + Φ +

netF can be estimated based upon the strain gauge measurements, as shown in Eq. (32). can be calculated based upon the counterweight coordinates, as shown in Eq. (56) or (58).

netCWF

The basic approach of the steps to follow is to manipulate Eq. (68) into the “regression form” shown in Eq. (1) and then to solve for the unknown parameters. The choice of parameters to be included in this identification is a design issue that needs to be optimized through experimentation with simulation and actual data. This section derives the regression-form equations for selected groups of variables to be identified.

Depending on the noise level present and the motion characteristics of the imbalance, it may not be practical to identify the imbalance velocity or acceleration parameters (elements 5-8 and 9-12, respectively in IBθ ). It may be that better results can be achieved by removing these parameters from the identification and treating their effects as noise.

All terms are used in the simulation, whether or not they are identified. Regardless of how many parameters are to be identified, only the first 4 elements of IBθ (imbalance position)

are used for autobalancing. These 4 elements define the position of the PMI and MCI. Identifying extra parameters, if possible, is important since they prevent these useful parameters from being corrupted by the extra forces that they represent.

1. Identifying imbalance position (only)

In this approach, the simplest of the options presented, only p p c cx y x y⎡ ⎤⎣ ⎦ are identified. It is assumed

that: • Strain gauge biases are available from some prior calibration or other method independent of this

identification.

• The axis misalignment parameters are available from some prior calibration or other method independent of this identification.

• The counterweight parameters, CWθ , are known

• The effects of the imbalance velocity and acceleration are sufficiently small or difficult to identify that better results are obtained by ignoring them, and treating them as unmodeled disturbances (noise).

American Institute of Aeronautics and Astronautics

28

Page 29: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

Substituting netF from Eq. (32) for in Eq. (68), and using , netF B CWθ , and ˆMisalignmentθ to indicate the

parameters that are considered known. (69) 1 ˆ ˆˆ( ) ( , ) ( , )p c IB pCW cCW CW Misalignment Misalignment NFNT S B m m m m Eθ θ θ−Γ − = Φ + Φ + Φ +

(70) 1 ˆ ˆˆ( , ) ( ) ( , )p c IB pCW cCW CW Misalignment Misalignment NFNm m T S B m m Eθ θ−Φ = Γ − − Φ − Φ −θ

Separating IBθ into parts that will be identified vs. ignored ( IBΦ is also similarly partitioned),

pos vel acc

T

IB IB IBθ θ θ+

⎡ ⎤⎣ ⎦ (71)

pos

T

IB p p c cx y x yθ ⎡ ⎤⎣ ⎦ (72)

(73) vel acc

T

IB xp yp xc yc xp yp xc ycv v v v a a a aθ+

⎡⎣ ⎤⎦

1 ˆ ˆˆ( ) ( , )

pos pos vel acc vel accIB IB IB IB IB IB

pCW cCW CW Misalignment Misalignment NFNT S B m m E

θ θ θ

θ θ+ +

Φ = Φ + Φ =

Γ − − Φ − Φ − (74)

(75) 1 ˆ ˆˆ( ) ( , )

pos pos

vel acc vel acc

IB IB pCW cCW CW Misalignment Misalignment

IB IB NFN

T S B m m

E

θ θ

θ+ +

−Φ = Γ − − Φ − Φ

−Φ −

θ

As long as the assumption that vel acc vel accIB IBθ

+ +Φ can be treated as noise is true, all terms on the right (except the

noise) are known parameters or measurements, and the unknown parameters on the left side appear linearly. So this is now in a form enabling least squares solution of the

posIBθ vector using the standard RLS algorithm presented

earlier. The equation is now in regression form, Ax b ε= + , where

1 ˆ ˆˆ( ) ( , )

pos

pos

vel acc vel acc

IB

IB

pCW cCW CW Misalignment Misalignment

IB IB NFN

A

x

b T S B m m

E

θ

θ θ

ε θ+ +

= Φ

=

= Γ − − Φ − Φ

= −Φ −

(76)

It may be the case that axis misalignment forces are negligible, in which case that term can be omitted. Since the goal is to provide an imbalance estimate in real time, so that it can be corrected with counterweights, a

recursive least squares (RLS) implementation is used, as presented in Ref. 8 and summarized in Appendix B. Since the goal is to track a moving imbalance, an exponentially weighted RLS is chosen, with the effective time window chosen according to the expected rate of imbalance change and desired control bandwidth.

2. Identifying imbalance position and axial misalignment

In this approach, are identified. It is assumed that: p p c c x y m x m yx y x y z zφ φφ φ⎡ ⎤⎣ ⎦• Strain gauge biases are available from some prior calibration or other method independent of this

identification.

• The counterweight parameters, CWθ , are known

• The effects of the imbalance velocity and acceleration are sufficiently small or difficult to identify that better results are obtained by ignoring them, and treating them as unmodeled disturbances (noise).

American Institute of Aeronautics and Astronautics

29

Page 30: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

Again substituting netF from Eq. (32) for in Eq. (68), and using , netF B CWθ , and ˆMisalignmentθ to indicate the

parameters that are considered known. (77) 1 ˆˆ( ) ( , ) ( , )p c IB pCW cCW CW Misalignment Misalignment NFNT S B m m m m Eθ θ θ−Γ − = Φ + Φ + Φ +

1 ˆˆ ( ) ( , )

pos pos vel acc vel accIB IB IB IB Misalignment Misalignment

pCW cCW CW NFNT S B m m E

θ θ θ

θ+ +

Φ + Φ + Φ =

Γ − − Φ − (78)

1 ˆˆ ( ) ( , )

pos pos

vel acc vel acc

IB IB Misalignment Misalignment

pCW cCW CW IB IB NFNT S B m m E

θ θ

θ θ+ +

Φ + Φ =

Γ − − Φ − Φ − (79)

The unknown parameters, posIBθ and Misalignmentθ , in Eq. (79) will now be identified simultaneously, yielding the

imbalance position and axial misalignment parameters. The misalignment parameters are not used for any purpose, but if their effect was not included in the identification, the imbalance estimation would be biased. This identification of imbalance parameters is only relevant for Earth-based testing, where gravity is significant. If

Misalignmentθ is found to be fairly constant, it may be better to identify that in an off-line process, which would reduce the degrees of freedom to be identified on-line, probably improving accuracy.

Concatenating the Φ matrices and θ vectors,

posIB Misalignment pos Misalignment+ ⎡ ⎤Φ Φ Φ⎣ ⎦ (80)

pos

pos

IBIB Misalignment

Misalignment

θθ

θ+

⎡ ⎤⎢ ⎥⎢ ⎥⎣ ⎦

(81)

Equation (79) may be re-written as

1 ˆˆ ( ) ( , )

pos pos

vel acc vel acc

IB Misalignment IB Misalignment

pCW cCW CW IB IB NFNT S B m m E

θ

θ θ+ +

+ +

Φ =

Γ − − Φ − Φ − (82)

which is in regression form with

1 ˆˆ( ) ( , )

pos

pos

vel acc vel acc

IB Misalignment

IB Misalignment

pCW cCW CW

IB IB NFN

A

x

b T S B m m

E

θ

θ

ε θ+ +

+

+

= Φ

=

= Γ − − Φ

= −Φ −

(83)

An unfortunate issue for ground-based experiments is that posIBθ and Misalignmentθ must be updated with the same

RLS time constant, whereas it is likely that the imbalance requires faster tracking than the axial misalignment – so if the two sets of parameters are identified simultaneously, the Misalignmentθ estimates will not be as accurate as they could be if the RLS time constant were increased.

3. Comparison with Kalman Filter

This highlights a difference between the least squares approach presented and the possibility of using a Kalman Filter (KF) for identification. With the present LS approach, there is no connection between the identified positions, velocities, and accelerations. For example, the position estimate may be constantly changing, but the velocity and acceleration estimates may be zero (not likely, but possible). However, in a KF approach, the positions, velocities, and accelerations are all coupled (for example, velocity would be an integration of acceleration, etc.), and the

American Institute of Aeronautics and Astronautics

30

Page 31: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

statistical properties of imbalance motion could be specified. The KF filter would be optimized based on these statistical properties, whereas the RLS approach requires tuning of the exponential weighting time constant to achieve this result. Also, in a KF approach, the fact that misalignment parameters will vary much more slowly than imbalance parameters can be set directly, and the identification result will reflect this.

The LS approach was chosen to avoid the added complexity of the KF, which is a concern both from a computational processing issue and reduced algorithmic robustness issue. But the KF design and implementation was not performed, so it should be considered an option for further exploration.

4. Identifying imbalance, axial misalignment, and strain gauge biases

The previous sections showed how imbalance (and axial misalignment) parameters can be identified, if the strain gauge biases are known through some prior calibration. This information is reflected in the calculation of netF in Eq. (32). This section derives the equations to identify the biases on-line simultaneously with the imbalance parameter ID. Depending on the bias drift rate, it may actually be better to identify the biases with a separate process that assumes the average imbalance force is zero (as it would be if the autobalancing system were operating correctly). Alternatively, if the bias drift rate is very slow, it may be possible to identify them with an off-line process.

The derivation in this section also includes identification of velocity and acceleration imbalance parameters, and is the most complex option presented.

In this approach, the following 24-element vector is identified, which includes all 12 imbalance parameters, the 4 axial misalignment parameters, and the 8 strain gauge biases:

IB

IB Misalignment B Misalignment

B

θθ θ+ +

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(84)

where

(52) T

IB p p c c xp yp xc yc xp yp xc ycx y x y v v v v a a a aθ ⎡ ⎤⎣ ⎦

T

Misalignment x y m x m yz zφ φθ φ φ⎡ ⎤⎣ ⎦ (65)

[ ]1 2 3 4 5 6 7 8TB β β β β β β β β (8)

It is assumed that the counterweight parameters, CWθ , are known.

Again substituting netF from Eq. (32) for in Eq. (68), and using netF CWθ to indicate the parameters that are considered known.

(85) 1 ˆ( ) ( , ) ( , )p c IB pCW cCW CW Misalignment Misalignment NFNT S B m m m m Eθ θ θ−Γ − = Φ + Φ + Φ +

(86) 1 1( , ) ( , )p c IB Misalignment Misalignment pCW cCW CW NFNm m T B T S m m Eθ θ θ− −Φ + Φ + Γ = Γ − Φ −

The unknown parameters, IBθ , Misalignmentθ , and in Eq. (86) will now be identified simultaneously, yielding

the imbalance, axial misalignment, and strain gauge bias parameters. Concatenating the

BΦ matrices and θ vectors,

1( , )IB Misalignment B p c Misalignmentm m T −+ + ⎡ ⎤Φ Φ Φ Γ⎣ ⎦ (87)

Equation (86) may now be written as 1 ( , )IB Misalignment B IB Misalignment B pCW cCW CW NFNT S m m Eθ θ−

+ + + +Φ = Γ − Φ − (88)

which is in regression form with

American Institute of Aeronautics and Astronautics

31

Page 32: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

1 ˆ( , )

IB Misalignment B

IB Misalignment B

pCW cCW CW

NFN

A

x

b T S m m

E

θ

θ

ε

+ +

+ +

= Φ

=

= Γ − Φ

= −

(89)

The term in the preceding equations is a 4x8 matrix that can be calculated analytically to save run-time computation as follows.

1T −Γ

(90)

11 13 15 17

11 13 15 171

32 34 36 38

32 34 36 38

0 0 0 00 0 0 00 0 0 0

0 0 0 0

c s 0 0 0 0 0 0s c 0 0 0 0 0 00 0 c s 0 0 0 00 0 s c 0 0 0 0

0 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1

T

ψ ψψ ψ

ψ ψψ ψ

Γ Γ Γ Γ⎡ ⎤⎢ ⎥Γ Γ Γ Γ⎢ ⎥Γ =⎢ ⎥Γ Γ Γ Γ⎢ ⎥−Γ −Γ −Γ −Γ⎣ ⎦⎡ ⎤⎢ ⎥−⎢⎢ ⎥⎢ ⎥−⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

0

0

(91)

11 11 13 13 15 17

11 11 13 13 15 171

32 32 34 34 36 38

32 32 34 34 36 38

c s c s 0s c s c 0 0s c s c 0 0c s c s 0

T

ψ ψ ψ ψψ ψ ψ ψψ ψ ψ ψψ ψ ψ ψ

Γ Γ Γ Γ Γ Γ⎡ ⎤⎢ ⎥−Γ Γ −Γ Γ Γ Γ⎢ ⎥Γ =⎢ ⎥−Γ Γ −Γ Γ Γ Γ⎢ ⎥−Γ −Γ −Γ −Γ −Γ −Γ⎣ ⎦

J. Summary of imbalance identification algorithms

As mentioned earlier, there are some options regarding whether all 12 imbalance parameters are to be identified, whether axial misalignment is to be identified or calibrated beforehand, and whether the strain gauge biases are to be identified or calibrated beforehand. The equations corresponding to some of the permutations on these decisions are summarized here.

One goal of this section is to repeat enough of the equations so that all the steps in implementing the algorithm can be seen, without concern for showing the complete derivation.

1. Identification of 12 imbalance parameters, axial misalignment, and strain gauge biases

This is the most complex case, using the regression equation derived in Section III.I.4 as Eq. (88), repeated here. Equations specifying these terms are repeated below.

1 ( , )IB Misalignment B IB Misalignment B pCW cCW CW NFNT S m m Eθ θ−+ + + +Φ = Γ − Φ − (88)

1( , )IB Misalignment B p c Misalignmentm m T −+ + ⎡ ⎤Φ Φ Φ Γ⎣ ⎦ (87)

American Institute of Aeronautics and Astronautics

32

Page 33: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

(51)

2

2

2

2

0 00 0

( , )0 2 2

0 2 2

0 2 0 0 0 0 02 0 0 0 0 0

0 0 4 0 0 0 0 20 0 0 4 0 0 2 0

p p

p pp c

p c c

p c c

p p

p p

c c

c c

m mm m

m mm g m l m l

m g m l m l

m mm m

m l m lm l m l

ω αα ω

α ωω α

ωω

ωω

⎡⎢−⎢Φ ⎢ − −⎢⎢⎣

− ⎤⎥− − ⎥⎥⎥− ⎦

0

c s 0 0-s c 0 0

0 0 s -c0 0 c s

Misalignment mg

ψ ψψ ψ

ψ ψψ ψ

⎡ ⎤⎢ ⎥⎢ ⎥Φ⎢ ⎥⎢ ⎥⎣ ⎦

(64)

c coss sinψ ψψ ψ

(19)

(91)

11 11 13 13 15 17

11 11 13 13 15 171

32 32 34 34 36 38

32 32 34 34 36 38

c s c s 0s c s c 0 0s c s c 0 0c s c s 0

T

ψ ψ ψ ψψ ψ ψ ψψ ψ ψ ψψ ψ ψ ψ

Γ Γ Γ Γ Γ Γ⎡ ⎤⎢ ⎥−Γ Γ −Γ Γ Γ Γ⎢ ⎥Γ =⎢ ⎥−Γ Γ −Γ Γ Γ Γ⎢ ⎥−Γ −Γ −Γ −Γ −Γ −Γ⎣ ⎦

0

0

0

0

1T −Γ can be calculated analytically, as shown here, to save computation time. The are constant functions of the strain gauge geometry, so only need to be calculated once.

ijΓ

11 13 15 17

11 13 15 171

32 34 36 38

32 34 36 38

0 0 00 0 0 0

( )0 0 0 0

0 0 0

T TG G G−

Γ Γ Γ Γ⎡ ⎤⎢ ⎥Γ Γ Γ⎢ ⎥Γ =⎢ ⎥

ΓΓ Γ Γ Γ

⎢ ⎥−Γ −Γ −Γ −Γ⎣ ⎦

(34)

American Institute of Aeronautics and Astronautics

33

Page 34: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

10 0

10 0

10 0

10 0

10 0

10 0

10 0

10 0

Bf

Af Bf Af Bf

Bf

Af Bf Af Bf

Af

Af Bf Af Bf

Af

Af Bf Af Bf

Bs

As Bs As Bs

Bs

As Bs As Bs

As

As Bs As Bs

As

As Bs As Bs

zz z z z

zz z z z

zz z z z

zz z z zG

zz z z z

zz z z z

zz z z z

zz z z z

−⎡ ⎤⎢ ⎥− −⎢ ⎥⎢ − −⎢

− −⎢⎢

−⎢⎢ − −⎢⎢⎢ − −= ⎢⎢ −⎢

− −⎢⎢ − −⎢

− −⎢⎢ −⎢

− −⎢⎢⎢

− −⎢⎣ ⎦

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

(17)

So is a function of the following constant known parameters:

and time-varying variables which can be measured or estimated: IB Misalignment B+Φ + , , , , , , ,p c Af Bf As Bsm m g l z z z z

, ,ψ ω α . Since are arbitrary, they may be set to 1 kg to reduce computations.

,pm mc

IB

IB Misalignment B Misalignment

B

θθ θ+ +

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(84)

(52) T

IB p p c c xp yp xc yc xp yp xc ycx y x y v v v v a a a aθ ⎡ ⎤⎣ ⎦

x

yMisalignment

m x

m y

zz

φ

φ

φφ

θ

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(65)

American Institute of Aeronautics and Astronautics

34

Page 35: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

1

2

3

4

5

6

7

8

B

ββββββββ

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(8)

So the parameters to be identified consist of 4 positions, 4 velocities, 4 accelerations, 4 axial misalignment parameters, and 8 strain gauge biases.

Continuing with the right side of the regression equation,

Axf

Ayf

Bxf

Byf

Axs

Ays

Bxs

Bys

SSSS

SSSSS

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(8)

2

2

2

2

0 00 0

( , )0 2 2

0 2 2

0 2 0 0 0 0 02 0 0 0 0 0

0 0 4 0 0 0 0 20 0 0 4 0 0 2 0

pCW pCW

pCW pCWpCW cCW

pCW cCW cCW

pCW cCW cCW

pCW pCW

pCW pCW

cCW cCW

cCW cCW

m mm m

m mm g m l m l

m g m l m l

m mm m

m l m lm l m l

ω αα ω

α ωω α

ωω

ωω

⎡⎢−⎢Φ ⎢ − −⎢⎢⎣

− ⎤⎥− − ⎥⎥⎥− ⎦

0

(57)

(54)

CW pCW pCW cCW cCW xpCW ypCW xcCW ycCW

T

xpCW ypCW xcCW ycCW

x y x y v v v v

a a a a

θ ⎡⎣

⎤⎦

American Institute of Aeronautics and Astronautics

35

Page 36: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

1 3

2 4

1 3

2 4

1 3

2 4

4

( ) 4

( ) 4

( )

( )

( )

( )

pCW CW

pCW

pCW

xpCW pCW

ypCW pCW

xpCW xpCW

ypCW ypCW

m m

x

y

dv xdtdv ydtda vdtda vdt

δ δ

δ δ

δ δ

δ δ

δ δ

δ δ

=

= +

= +

= = +

= = +

= = +

= = +

4

4

4

4

1 3

2 4

1 3

2 4

1 3

2 4

2( ) 4( ) 4

( )

( )

( )

( )

cCW CW

cCW

cCW

xcCW cCW

ycCW cCW

xcCW xcCW

ycCW ycCW

m mxy

dv xdtdv ydtda vdtda vdt

δ δδ δ

δ δ

δ δ

δ δ

δ δ

4

4

4

4

=

= −

= −

= = −

= = −

= = −

= = −

(55)

So the right side of Eq. (88) is a function of the following constant known parameters: and time-varying variables which can be measured or estimated: , , , , , ,CW Af Bf As Bsm g l z z z z

1 2 3 4 1 2 3 4 1 2 3 4, , , , , , , , , , , , , , , , , , , , , ,Axf Ayf Bxf Byf Axs Ays Bxs BysS S S S S S S Sψ ω α δ δ δ δ δ δ δ δ δ δ δ δ . The first 3 variables are the rotor position, velocity, and acceleration. The next 8 are the 4 fixed and 4 spinning strain gauge measurements. The final 12 are the position, velocity, and acceleration of the counterweights.

To implement this algorithm • Upon initialization,

o Calculate Γ o Initialize the parameter estimation error covariance matrix, , referred to in Appendix B, and

used by the RLS algorithm. Ref. 8 contains some suggestions for this. Setting it as a diagonal matrix with large values on the diagonal is probably not a bad guess – this implies no prior knowledge.

0P

o Initialize IB Misalignment Bθ + + with the best prior estimates. This may be a vector of zeros.

• At each update o Sample the rotor encoder, tachometer (if present), strain gauges, and CW encoders o Use the rotor encoder, tachometer (if present), and spin motor current (if available) to estimate

, ,ψ ω α o Filter and combine the individual strain gauges as described in Section III.A o Use the CW encoder measurements and commands (if available) to estimate the position, velocity,

and acceleration of the counterweights. o Calculate using the known parameters and variables as summarized above. This

will be a 4x24 matrix, represented by

IB Misalignment B+Φ +

Tkφ in the RLS algorithm in Appendix B.

o Calculate 1 ( , )pCW cCW CWT S m m θ−Γ − Φ . This will be a 4x1 vector, represented by in the RLS algorithm in Appendix B.

y

o “Modification 2” from Appendix B applies here, so update IB Misalignment Bθ + + as described there.

o Use the first four elements of IB Misalignment Bθ + + to drive the counterweights, as shown in Eq. (120), or in the case of counterweight failure, Eq. (122).

American Institute of Aeronautics and Astronautics

36

Page 37: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

2. Identification of 4 imbalance parameters only

This is the simplest case, using the regression equation derived in Section III.I.1 as Eq. (75), repeated here. Equations specifying these terms are repeated below. This is the simplest case. It assumes axial misalignment parameters and strain gauge biases are known, based on prior calibration. The imbalance velocities and accelerations are judged to be small enough that the identification degrees of freedom they provide do more harm than good.

(75) 1 ˆ ˆˆ( ) ( , )

pos pos

vel acc vel acc

IB IB pCW cCW CW Misalignment Misalignment

IB IB NFN

T S B m m

E

θ θ

θ+ +

−Φ = Γ − − Φ − Φ

−Φ −

θ

c

⎥⎥ (92)

2

2

2

2

0 00 0

0 2 20 2 2

pos

p p

p pIB

p c c

p c

m mm m

m g m l m lm g m l m l

ω αα ω

α ωω α

⎡ ⎤⎢ ⎥−⎢Φ ⎢ − −⎢ ⎥⎢ ⎥⎣ ⎦

pos

T

IB p p c cx y x yθ ⎡ ⎤⎣ ⎦ (72)

So posIBΦ is a function of the following constant known parameters: and time-varying variables

which can be measured or estimated:

, , ,p cm m g l

,ω α . Since are arbitrary, they may be set to 1 kg to reduce computations.

,pm mc

0

0

0

0

Continuing with the right side of the regression equation,

(91)

11 11 13 13 15 17

11 11 13 13 15 171

32 32 34 34 36 38

32 32 34 34 36 38

c s c s 0s c s c 0 0s c s c 0 0c s c s 0

T

ψ ψ ψ ψψ ψ ψ ψψ ψ ψ ψψ ψ ψ ψ

Γ Γ Γ Γ Γ Γ⎡ ⎤⎢ ⎥−Γ Γ −Γ Γ Γ Γ⎢ ⎥Γ =⎢ ⎥−Γ Γ −Γ Γ Γ Γ⎢ ⎥−Γ −Γ −Γ −Γ −Γ −Γ⎣ ⎦

1T −Γ can be calculated analytically, as shown here, to save computation time. The are constant functions of the strain gauge geometry, so only need to be calculated once.

ijΓ

11 13 15 17

11 13 15 171

32 34 36 38

32 34 36 38

0 0 00 0 0 0

( )0 0 0 0

0 0 0

T TG G G−

Γ Γ Γ Γ⎡ ⎤⎢ ⎥Γ Γ Γ⎢ ⎥Γ =⎢ ⎥

ΓΓ Γ Γ Γ

⎢ ⎥−Γ −Γ −Γ −Γ⎣ ⎦

(34)

American Institute of Aeronautics and Astronautics

37

Page 38: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

10 0

10 0

10 0

10 0

10 0

10 0

10 0

10 0

Bf

Af Bf Af Bf

Bf

Af Bf Af Bf

Af

Af Bf Af Bf

Af

Af Bf Af Bf

Bs

As Bs As Bs

Bs

As Bs As Bs

As

As Bs As Bs

As

As Bs As Bs

zz z z z

zz z z z

zz z z z

zz z z zG

zz z z z

zz z z z

zz z z z

zz z z z

−⎡ ⎤⎢ ⎥− −⎢ ⎥⎢ − −⎢

− −⎢⎢

−⎢⎢ − −⎢⎢⎢ − −= ⎢⎢ −⎢

− −⎢⎢ − −⎢

− −⎢⎢ −⎢

− −⎢⎢⎢

− −⎢⎣ ⎦

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

(17)

c coss sinψ ψψ ψ

(19)

Axf

Ayf

Bxf

Byf

Axs

Ays

Bxs

Bys

SSSS

SSSSS

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(8)

American Institute of Aeronautics and Astronautics

38

Page 39: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

1

2

3

4

5

6

7

8

ˆ

ˆ

ˆ

ˆˆ

ˆ

ˆ

ˆ

ˆ

B

β

β

β

β

β

β

β

β

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(93)

2

2

2

2

0 00 0

( , )0 2 2

0 2 2

0 2 0 0 0 0 02 0 0 0 0 0

0 0 4 0 0 0 0 20 0 0 4 0 0 2 0

pCW pCW

pCW pCWpCW cCW

pCW cCW cCW

pCW cCW cCW

pCW pCW

pCW pCW

cCW cCW

cCW cCW

m mm m

m mm g m l m l

m g m l m l

m mm m

m l m lm l m l

ω αα ω

α ωω α

ωω

ωω

⎡⎢−⎢Φ ⎢ − −⎢⎢⎣

− ⎤⎥− − ⎥⎥⎥− ⎦

0

(57)

(54)

CW pCW pCW cCW cCW xpCW ypCW xcCW ycCW

T

xpCW ypCW xcCW ycCW

x y x y v v v v

a a a a

θ ⎡⎣

⎤⎦

1 3

2 4

1 3

2 4

1 3

2 4

4

( ) 4

( ) 4

( )

( )

( )

( )

pCW CW

pCW

pCW

xpCW pCW

ypCW pCW

xpCW xpCW

ypCW ypCW

m m

x

y

dv xdtdv ydtda vdtda vdt

δ δ

δ δ

δ δ

δ δ

δ δ

δ δ

=

= +

= +

= = +

= = +

= = +

= = +

4

4

4

4

1 3

2 4

1 3

2 4

1 3

2 4

2( ) 4( ) 4

( )

( )

( )

( )

cCW CW

cCW

cCW

xcCW cCW

ycCW cCW

xcCW xcCW

ycCW ycCW

m mxy

dv xdtdv ydtda vdtda vdt

δ δδ δ

δ δ

δ δ

δ δ

δ δ

4

4

4

4

=

= −

= −

= = −

= = −

= = −

= = −

(55)

c s 0 0-s c 0 0

0 0 s -c0 0 c s

Misalignment mg

ψ ψψ ψ

ψ ψψ ψ

⎡ ⎤⎢ ⎥⎢ ⎥Φ⎢ ⎥⎢ ⎥⎣ ⎦

(64)

American Institute of Aeronautics and Astronautics

39

Page 40: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

ˆ

ˆˆˆˆ

x

yMisalignment

m x

m y

zz

φ

φ

φ

φθ

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(65)

K. Summary of noise sources modeled

NFNE is the “Net-Force noise” signal, indicating a true net force and torque on the rotor.

SFNE is the “Strain gauge Force Noise” signal, indicating forces at the strain gauges that did not result in net forces.

SSNE is the “Strain gauge Sensor Noise” signal, indicating sensor errors not resulting from actual forces.

L. SG fault detection isolation and reconfiguration (FDIR)

The FDI approach taken here is based upon maximum likelihood theory. It is loosely analogous to the commonly applied bank of Kalman filters. A key advancement over an earlier attempt using this approach was to simplify the model to include only geometric relationships–so that imbalance ID results, dynamic modeling, etc. are not needed. This is very important for simplicity and robustness.

The method for estimating netF , derived in Section III.B and resulting in the following repeated equation,

( )( ) ( )( )1 1ˆ T TnetF G G G T S B

− −= − , (31)

is repeated once for each possible failure mode. For the problem statement studied and implemented in simulation, 9 different conditions are considered: (1) the case of no failures, and then (2-9) once for each situation where a single strain gauge would have failed. The failure modes are modeled so that when a SG fails it reads zero plus noise. This is not really the case here, since it is assumed that each SG is in a pair reading the exact opposite force, but this assumption makes the FDI problem very challenging. For actual hardware implementation, the actual failure modes would be properly calculated.

For the case where has failed, the estimation of iS netF is re-derived here as follows. Recalling the governing equation,

( )net SFN SSNS B TGF E E− = + + (25)

If has failed so it reads zero plus noise, this equation can be re-written as iS (i net SFN SSNS B I TGF E E )− = + + (94)

where iI is a modified identity matrix, with ones on the diagonal, except ( , ) 0iI i i = . So will read zero plus

noise, as desired.iS

††† Unfortunately, iI T is not invertible, so the equation cannot be pre-multiplied by 1( )iI T − as

was done before for computational efficiency. Note that iI T is simply T with the row replaced with zeros. This equation is now in regression form where

thi

††† Another failure mode might be that the SG signal could read anything. In that case, a better model might be to remove the equation for that SG from the system of equations. That could be achieved by removing the row from the T matrix and the and

thiS B vectors, giving them each 7 rows.

American Institute of Aeronautics and Astronautics

40

Page 41: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

( )

i

net

SFN SSN

A I TGx Fb S B

E Eε

=== −= − +

. (95)

So the least-squares solution for this equation is

( ) ( )( ) ( ) (1ˆ

i

T Tnet i i i )F I TG I TG I TG S B

= − . (96)

Unlike the solution for no failures, the ( ) 1T TA A A−

term is a function of T , which is a function of rotor angle,

ψ , so it must be updated at each sample.

Once is calculated for each failure mode, i , (including the case of no failures), at each sample update, ,

the residual, , from the least squares calculation is found as follows.

ˆinetF k

,i kr

( ) ( ), , ,i k measured k estimated assuming i failed kr S B S B− − −

, (97)

( ),, ,

ˆi ki k i netmeasured k

r S B I TGF= − − (98)

( ) ( ) ( )( ) ( ) ( )1

, , ,

T Ti k i k i k i k i kmeasured k measured k

r S B I T G I T G I T G I T G S B−

= − − − (99)

As derived below, the one of the 9 candidate models that most closely matches the actual measurements (calculated as the minimum residual, averaged over a window of time) is selected as the correct one, providing detection and isolation of the failure mode.

The uncertainty model for the maximum likelihood calculation is simplified as follows9. Since the uncertainty in SG measurements comes from multiple sources, as summarized earlier, for simplicity it is modeled as coming from a single combined source for the maximum likelihood tests. The residual in the preceding equations is considered to represent the single combined uncertainty. The variance of this (assumed Gaussian and un-correlated) distribution is calculated in simulation, for the case of no SG failures.

At each sample time, , the residual, , for the true failure mode, , is modeled as a continuous random

variable having the following normal probability density function

k * ,i kr *i

( )2

2( )

22

12

x

f x eµ

σ

πσ

−−

= (100)

Making the assumption that the residual will have zero mean for the true failure mode,

( )2

222

12

x

f x e σ

πσ

−= , (101)

where 2σ is the variance calculated in simulation, as mentioned above. For measurements at discrete times 1, , the joint probability distribution function is N 2, , N

1 2

1 2 1 1 2 2

1 2 1 2

( , , , ) Pr( , , , )

( , , , )N

N Nx x x

N N

F x x x X x X x X xN

f x x x dx dx dx−∞ −∞ −∞

= < < <

= ∫ ∫ ∫, (102)

where 1 2( , , , )Nf x x x is the joint probability density function. Since the measurements are independent and identically distributed (IID),

American Institute of Aeronautics and Astronautics

41

Page 42: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

1 2 1 1 2 2( , , , ) Pr( ) Pr( ) Pr( ) Pr( )N NF x x x X x X x X xN= < < <

k

k

(103)

. (104) 1 21

( , , , ) Pr( )N

N kk

F x x x X x=

= <∏The joint probability density function is

1 21

( , , , ) ( )N

Nk

f x x x f x=

= ∏ . (105)

Substituting the individual probability density function from Eq. (101)

( )

( )

2

2

2

2

22

1

21 2 2

1

2 22

1

122 2

1( , , , )2

2

2

k

k

N

kk

xN

Nk

xN N

k

N x

f x x x e

e

e

σ

σ

σ

πσ

πσ

πσ =

=

−−

=

−−

=

=

∑=

∏ (106)

The likelihood function corresponding to the 9 candidate cases, from 0 8i = … , is 1 2( ) ( , , , ; )NL i f x x x i= . (107)

The maximum likelihood failure mode is chosen as the i that maximizes this likelihood function, or, more conveniently (and equivalently), ln ( )L i

( )

( )

( )

( )

2,2

1

2,2

1

1 2

122 2

122 2

2 2,2

1

ln ( ) ln ( , , , ; )

ln 2

ln 2 ln

1ln 22 2

N

i kk

N

i kk

N

N x

N x

N

i kk

L i f x x x i

e

e

N x

σ

σ

πσ

πσ

πσσ

=

=

−−

−−

=

=

⎛ ⎞∑⎜ ⎟=⎜ ⎟⎝ ⎠

⎛ ∑⎛ ⎞ ⎜ ⎟= +⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

= − − ∑

⎞ (108)

With 2σ and known, this expression for is maximized by minimizing the summation. The maximum likelihood failure mode is chosen with the following expression,

N ln ( )L i

*,

1

minN

i ki k

i=

= 2x∑ , (109)

where ,i kx is the residual calculated at time , using k ( ) ,estimated assuming i failed kS B−

, , (for example, ,i k i kx r= from

Eq. (98)). determines the size of the window used (the number of most recent samples). NA generalized likelihood ratio test is performed between the best and second best fit to prevent detection when

signals and residuals are small (as is true in a balanced condition). The ratio is taken between the summations, as shown in Eq. (109). In simulation testing, this approach has proven sufficiently robust to detect intermittent and changing SG faults without requiring significant additional logic.

In summary, the SG FDIR algorithm does the following during each pass through the sample loop:

American Institute of Aeronautics and Astronautics

42

Page 43: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

1. Sample spin angle encoder and estimate ψ . Use this to calculate T and 1T − .

2. Sample strain gauges and calculate the ( )S B− vector.

3. Calculate netF for the case of no SG failures present, indicated as , using Eq. (32). 0netF

4. Calculate netF for each SG failure case to be considered, indicated as , using Eq. (96). 1

ˆ ˆnet netF F

8

k

r

5. Calculate the residuals associated with each potential fault mode, , using Eq. (98). 0, 8,kr r

6. Compute the running modified likelihood function for each potential fault mode, , as the

sum over the most recent samples (where is tuned based on the desired rate of response in FDI vs. the noise level present).

2 20 8, ,r∑ ∑

N N

7. Find the closest and second closest fault mode matches, and closesti second closesti , corresponding to the

lowest and second-to-lowest values of 2ir∑ . Compute the generalized likelihood ratio as the ratio of

these values, 2

2closest

second closest

i

i

rr

γ = ∑∑

.

8. If γ is below a specified threshold, and is different than the presently isolated fault mode, ,

declare as the isolated fault mode (set closesti isolatedi

closesti isolated closesti i= ). This step accomplishes the fault detection and isolation (FDI). Here, the detection and isolation are performed at the same step, which is not always the case.

9. Use (already calculated in step 4, above) as ˆi isolatednetF netF in the remaining autobalancing calculations

(e.g., use where is used). This step implements the reconfiguration (R), if needed. ˆi isolatednetF 1 ˆ(T S B−Γ − )

An important result of the approach taken is that the calculations used for FDI (i.e., the calculation of ) can

then be used directly in the reconfiguration (R). Reconfiguration involves simply using the value

corresponding to the failure mode isolated, , rather than the

ˆinetF

ˆinetF

ˆi closestnetF netF for the case of no failures, .

0netFAnother key feature of this approach is that it is independent of the dynamical model and disturbance forces that

may be acting on the rotor. It simply looks for self-consistency among the various redundant sensors that measure forces on the (assumed rigid) rotor. This approach can be applied directly to the ISS Centrifuge design, even though that has a compliant suspension and uses displacement sensors instead of force sensors.

IV. Counterweight control and FDIR Counterweight control refers to the portion of the overall control system that takes in estimates of imbalance

parameters and drives the CWs to null the total imbalance. The actual low level control system (e.g., servo loop or stepper motor drive system) to move the counterweights is not critical (as long as it has sufficient bandwidth) and is not discussed here. So this section refers to generating the commanded CW positions that are to be sent to the lower level control systems.

The 12 parameters defining the position, velocity, and acceleration of the PMI and MCI are updated at each sample, based upon the calculations summarized in Section III.J.

(52) T

IB p p c c xp yp xc yc xp yp xc ycx y x y v v v v a a a aθ ⎡ ⎤⎣ ⎦

American Institute of Aeronautics and Astronautics

43

Page 44: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

Assuming that imbalance motions (if any) are basically random and likely to be faster than the control bandwidth of the counterweights, the goal here will be to move the counterweights to counteract the imbalance positions,

pos

T

IB p p c cx y x yθ ⎡ ⎤⎣ ⎦

For the counterweights to statically negate the imbalance,

,

0 0 0 0 0 00 0 0 0 0 0ˆ 00 0 0 0 0 00 0 0 0 0 0

pos pos desired

p pCW

p pCWIB CW

c cCW

c cC

m mm m

m mm m

θ θ

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥

W

+ =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

. (110)

Solving for ,pos desiredCWθ ,

,

1

1

1

1

0 0 00 0 00 0 00 0 0 ˆ0 0 00 0 00 0 00 0 0

pos desired pos

ppCW

ppCWCW IB

ccCW

ccCW

mmmm

mmmm

θ θ

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢= −⎢ ⎥ ⎢⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦⎣ ⎦

⎥⎥

. (111)

Recalling the equations defining the counterweight (position) parameters,

1 3

2 4

4

( )

( )

pCW CW

pCW

pCW

m m

x

y

δ δ

δ δ

=

= +

= +

4

4

1 3

2 4

2( )( )

cCW CW

cCW

cCW

m mxy

δ δδ δ

44

== −= −

. (55)

In matrix form,

11

12

13

14

1 0 1 00 0 00 1 0 10 0 01 0 1 00 0 0.5 00 1 0 10 0 0 0.5

pos

pCW

pCWCW CW

cCW

cCW

mm

mm

m

δδ

θδδ

⎡ ⎤ ⎡ ⎤⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢=⎢ ⎥ ⎢ ⎥⎢ −⎢ ⎥ ⎢ ⎥⎢ ⎥−⎢ ⎥ ⎣ ⎦ ⎣ ⎦⎣ ⎦

⎥⎥

. (112)

Solving for δ in terms of posCWθ

11 11

12 1

13

14

1 0 1 0 0 0 00 1 0 1 0 0 01 0 1 0 0 0 0.5 00 1 0 1 0 0 0 0.5

pos

pCW

pCWCW CW

cCW

cCW

mm

mm

m

δδ

θδδ

−− −

−−

⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥=⎢ ⎥⎢ ⎥ ⎢ ⎥−⎢ ⎥⎢ ⎥ ⎢ ⎥− ⎢ ⎥⎣ ⎦⎣ ⎦ ⎣ ⎦

(113)

1

2

3

4

0 0 01 0 1 00 0 00 1 0 110 0 2 01 0 1 020 0 0 20 1 0 1

pos

pCW

pCWCW

cCWCW

cCW

mm

mmm

δδ

θδδ

⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥=⎢ ⎥⎢ ⎥ ⎢ ⎥−⎢ ⎥⎢ ⎥ ⎢ ⎥−⎣ ⎦⎣ ⎦ ⎣ ⎦

. (114)

Substituting ,pos desiredCWθ from Eq. (111) for

posCWθ in Eq. (114),

American Institute of Aeronautics and Astronautics

44

Page 45: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

1

2

3

4

1

1

1

1

0 0 01 0 1 00 0 00 1 0 110 0 2 01 0 1 020 0 0 20 1 0 1

0 0 00 0 00 0 00 0 0 ˆ0 0 00 0 00 0 00 0 0

pos

pCW

pCW

cCWCW

cCW

ppCW

ppCWIB

ccCW

ccCW

mm

mmm

mmmm

mmmm

δδδδ

θ

⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥− ⎢ ⎥⎢ ⎥ ⎢ ⎥=⎢ ⎥⎢ ⎥ ⎢ ⎥−⎢ ⎥⎢ ⎥ ⎢ ⎥−⎣ ⎦⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦⎣ ⎦

(115)

1

2

3

4

0 0 01 0 1 00 0 00 1 0 11 ˆ0 0 2 01 0 1 020 0 0 20 1 0 1

pos

p

pIB

cCW

c

mm

mmm

δδ

θδδ

⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥− ⎢⎢ ⎥ ⎢ ⎥=⎢ ⎥⎢ ⎥ ⎢ ⎥−⎢ ⎥⎢ ⎥ ⎢ ⎥−⎣ ⎦⎣ ⎦ ⎣ ⎦

⎥ (116)

1

2

3

4

ˆ ˆ2ˆ ˆ21ˆ 22ˆ ˆ2

p p c c

p p c c

p p c cCW

p p c c

m x m xm y m ym x m xmm y m y

δδδδ

+

ˆ

⎡ ⎤⎡ ⎤⎢ ⎥⎢ ⎥ +− ⎢ ⎥⎢ ⎥ =⎢ ⎥−⎢ ⎥⎢ ⎥⎢ ⎥ −⎢ ⎥⎣ ⎦ ⎣ ⎦

. (117)

These are the desired counterweight coordinates to be sent to the servo control loop. Recall that and are arbitrary, and could be set to 1 kg to simplify the equations. Whichever values are

chosen will directly scale

pm cm

IBθ . This mapping between IBθ and δ is determined exactly because the CW control policy chosen has 4 degrees of freedom. If a different counterweight configuration, perhaps having more than 4 degrees of freedom were chosen, there would be some added flexibility in this mapping.

A. Counterweight fault detection and isolation

Since encoders measure the location of individual CWs for both the ISS and SSRL Centrifuges, CW FDI is relatively straightforward. The algorithm simply looks for a mismatch between the commanded and sensed positions. An enduring mismatch, with an unchanging sensed position indicates a failure, either of the CW or its encoder. The simple approach taken now is to consider that CW frozen, and stop trying to drive it. If needed, it should be possible to determine whether the CW encoder or drive system has failed, but it would be relatively difficult, and provide limited value considering that CW redundancy exists.

B. Redundantly driven counterweights

So far, the analysis follows the counterweight configuration shown in Figure 7, in which only one of the CWs in a redundant pair moves, and the other remains fixed. One simple alternative to this would be to drive both counterweights, where δ indicates the total motion of each CW in the redundant pairs. The net δ could then be calculated as

1 1 1

2 2 2

3 3 3

4 4 4

A B

A

A B

A B

B

δ δ δδ δ δδ δ δδ δ δ

= += += += +

, (118)

American Institute of Aeronautics and Astronautics

45

Page 46: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

where, for example, 1Aδ is the position shown as 1δ in Figure 7, and 1Bδ is the position of the CW labeled

“counterweight #1 fixed dead weight”, which is positive in the same direction as 1Aδ . Eq. (118) can be substituted into the preceding equations, including Eq. (117), as follows

1 1

2 2

3 3

4 4

ˆ ˆ2ˆ ˆ21ˆ ˆ22ˆ ˆ2

p p c cA B

p p c cA B

p p c cA B CW

p p c cA B

m x m xm y m ym x m xmm y m y

δ δδ δδ δδ δ

++ ⎡ ⎤⎡ ⎤⎢ ⎥⎢ ⎥ ++ − ⎢ ⎥⎢ ⎥ =⎢ ⎥−⎢ ⎥+⎢ ⎥⎢ ⎥ −+ ⎢ ⎥⎣ ⎦ ⎣ ⎦

. (119)

This relation is used for standard CW control, in which the A and B CWs in each pair are nominally driven to have the same coordinates (i.e., 1 1command commandA Bδ δ= , etc.). So in this case, the desired δ is calculated using Eq. (117), then individual CW desired positions are calculated as follows

1

2

1 1

2 2

3 3

3 4

4

4

1 0 0 0 1 0 0 00 1 0 0 0 1 0 0

ˆ1 0 0 0 1 0 0 00 1 0 0 0 1 0 01 10 0 1 0 0 0 1 02 40 0 0 1 0 0 0 10 0 1 0 0 0 1 00 0 0 1 0 0 0 1

A

A

pB

B

A CW

B

A

B

m x

m

δδδ δδ δδ δδ δδδ

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥= =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦ ⎣ ⎦⎣ ⎦

ˆ2ˆ ˆ2ˆ ˆ2ˆ ˆ2

p c c

p p c c

p p c c

p p c c

m xm y m ym x m xm y m y

+⎡ ⎤⎢ ⎥+⎢ ⎥⎢ ⎥−⎢ ⎥−⎢ ⎥⎣ ⎦

. (120)

C. Reconfiguration for counterweight failures

If a CW fails by freezing in place, the other one in the pair will be commanded to make up the difference. With the CW geometry used here, the fault reconfiguration is fairly obvious. For example, CW 1A freezes at position

1frozenAδ , the commanded CW vector becomes

1 1

2

1 1 1

2 2

3 3

3 4

4

4

0 0 0 00 1 0 0 02 0 0 00 1 0 0 010 0 1 02 00 0 0 1 00 0 1 0 00 0 0 1 0

frozenA A

Afrozen

B A

B

A

B

A

B

δ δδδ δ δδ δδ δδ δδδ

⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥ −⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥= + ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎣ ⎦⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥ ⎣ ⎦⎣ ⎦ ⎣ ⎦

(121)

American Institute of Aeronautics and Astronautics

46

Page 47: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

1 1

2

1 1

2

3

3

4

4

0 0 0 00 1 0 0 0

ˆ ˆ22 0 0 0ˆ ˆ20 1 0 0 01ˆ ˆ20 0 1 04 0ˆ ˆ20 0 0 1

0 0 1 00 0 0 1

frozenA A

Afrozen

p p c cB A

p p c cB

p p c cA CW

p p c cB

A

B

m x m xm y m ym x m xmm y m y

δ δδδ δδδδδδ

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥

+⎢ ⎥ ⎢ ⎥ ⎡ ⎤ −⎢ ⎥ ⎢ ⎥ ⎢ ⎥+−⎢ ⎥ ⎢ ⎥ ⎢ ⎥=⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎣ ⎦⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥

⎢ ⎥⎢ ⎥ ⎣ ⎦⎣ ⎦

000

+

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

. (122)

For other geometries, a more complex mapping may be required, but as long as there is physical redundancy for all degrees of freedom, such a mapping will exist.

V. MATLAB simulation Basic results confirm that noise should not be a significant problem. One-Newton noise levels in the strain

gauges can be tolerated easily. Gravity imbalance forces dominate. These are affected by the distance between the strain gauge clusters, as well as the rotation speed. Also, a higher speed will reduce the effect of sensor noise, as the centrifugal forces are increased by the square of the angular rate.

The recursive least squares algorithm runs at 3 kHz on a 2.2 GHz Pentium 4 in MATLAB10, which includes simulation as well as the autobalancing calculations. This will slow down if more equations are added (more strain gauges), digital filtering is required, or a slower processor is used. However, the code could be sped up if programmed in C.

Sample screen outputs from the graphical user interface shown in the following figures, which were taken from a simulation in which the centrifuge was generating 1.0 g (setpoint), the counterweight motion was not enabled (resulting in much higher imbalance forces), and strain gauge pair #4 (non-rotating, measuring y-axis force in the lower plane) has failed.

upper forcelower forcerotor angle

rotor speed = 0.454 rpsartificial gravity = 0.995 g

16

Figure 9. Software simulation GUI – bearing forces

This view shows the measured bearing forces, including sensor noise, vibrations, and imbalances. The blue line indicates the zero-degree angle of the rotor. The red and green lines are vectors indicating the measured forces in the upper and lower planes. Since SG #4 has failed, the green vector has very little y-component (only noise). The scale factor (16) indicates that the radius of the blue circle is 16 Newtons, very large because the counterweight motion has been disabled in this simulation.

American Institute of Aeronautics and Astronautics

47

Page 48: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

upper plane - imbalance, counterweights

lower plane - imbalance, counterweights

actual point-mass imbalanceactual mass-couple imbalanceID'ed point-mass imbalanceID'ed mass-couple imbalanceresidual point-mass imbalanceresidual mass-couple imbalancecounterweights

SG 1

SG 2

SG 3

SG 4 SG 5

SG 6

SG 7

SG 8

no SG faults

sensor FDI

intellization.jpgintellization.jpg

Figure 10. Software simulation GUI – imbalance tracking, Strain gauge FDIR

The state of imbalance, imbalance-identification, and imbalance-cancellation are shown in the left figure for upper and lower counterweight planes. The results of the strain gauge FDI are shown in the upper right, indicating correctly that SG #4 has failed. Automatic reconfiguration following the fault isolation enables the identification to remain very accurate, as shown.

American Institute of Aeronautics and Astronautics

48

Page 49: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

-0.5 0 0.5 1-1

-0.5

0

0.5

1

Figure 11. Software simulation GUI – simulation control panel

This control panel is used to control the simulation, starting/stopping the rotor spin, counterweights, and simulated random imbalance motion. Sensor and counterweight failures are also controlled. The imbalance may be “driven” manually (rather than the pseudo-random walk) by using the mouse to drag the blue circle joystick emulator on the right.

0 1 2 3 4 5 6-8

-6

-4

-2

0

2

4

6

8

rotor angle [radians]

stra

in g

auge

out

put [

N]

stator upper xstator upper ystator lower xstator lower yrotor upper xrotor upper yrotor lower xrotor lower y

Figure 12. Software simulation GUI – strain gauge outputs

The 8 strain gauge signals are shown, plotted against the rotor angle. The vertical red line shows the beginning/end of the most recent revolution. If the imbalance were not moving, there were no vibration or sensor noise, and no failures were present, the 4 rotating gauges would read constant values and the 4 fixed gauges would have sinusoidal values (2 pairs 90 degrees in phase apart). However, “stator lower y” has failed, resulting in a reading of zero + noise.

VI. Conclusion Algorithms that provide automatic balancing and autonomous fault tolerance for a space-based centrifuge have

been derived and successfully implemented in software simulation. Although developed for an Earth-based simulator, the underlying principles may be extended for application to the ISS Centrifuge design which has a 5-axis vibration isolation mechanism suspension and displacement sensors.

American Institute of Aeronautics and Astronautics

49

Page 50: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

The architecture, which is similar to an indirect adaptive control architecture, allows careful and independent tuning of identification and control bandwidths, which is a key challenge for this application.

The sensor FDIR method presented uses maximum likelihood theory and is integrated closely with the imbalance identification algorithms, facilitating reconfiguration in the case of a sensor fault. This method does not rely on the rotor dynamical model, and is independent of rotor disturbances, relying only on the self-consistency of the redundant sensor suite.

The overall architecture and FDIR algorithms should be applicable to other aerospace systems that require automatic, fault tolerant, on-line identification and control of system properties.

Appendix

A. Abbreviations

BDS: Bearing displacement sensor CM: Center of mass CW: Counterweight EOM: Equation(s) of motion FDI: Fault detection and isolation FDIR: Fault detection isolation and reconfiguration (or recovery) FIR: Finite impulse response (filter) GUI: Graphical user interface Hz: Hertz, cycles per second ID: Identification (system identification) IID: Independent and identically distributed ISS: International Space Station JAXA: Japan Aerospace Exploration Agency KF: Kalman Filter LVLH: Local vertical local horizontal LS: Least squares m: Meters MCI: Mass-couple imbalance N: Newtons NASA: National Aeronautics and Space Administration NFN: Net Force Noise PMI: Point-mass imbalance RBNB: Ring-buffered network bus RLS: Recursive least squares SFN: Strain gauge Force Noise SG: Strain gauge SNR: Signal to noise ratio SSN: Strain gauge Sensor Noise SSBRP: Space Station Biological Research Project SSRL: Smart Systems Research Lab UZGRV: Uncorrelated zero-mean Gaussian random variable VCM: Voice coil motor VIM: Vibration Isolation Mechanism

B. Recursive least squares algorithm

The identification algorithms make extensive use of recursive least squares estimation. This appendix presents the standard algorithm used, as published in Ref. 8, along with certain modifications made to increase run-time performance and simplicity at a slight expense of loss of accuracy. The following is paraphrased from Ref. 8, starting at p.375.

The system of equations is Y θ ε= Φ + (123)

American Institute of Aeronautics and Astronautics

50

Page 51: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

Note that differs from the Ax b ε= + nomenclature used in the report. So , , ,Y b A xθ ε ε→ Φ → → → −

Let mθ and indicate the number of rows in the mΦ θ vector, and Φ matrix, respectively. Then

• m mθΦ > so that the problem is over determined and a least squares fit will be chosen.

• is a vector, generally containing the measurements. Y 1mΦ ×• is a Φ m mθΦ × vector, generally known parameters and some measurements (but ideally, should contain

only known quantities). • θ is a vector of the parameters to be identified. 1mθ ו ε is a vector, containing noise. 1mΦ ×

The batch least squares solution to this is . (124) 1ˆ ( )T T

LS Yθ −= Φ Φ Φ

The weighted batch least squares solution to this is . (125) 1ˆ ( )T T

WLS W Wθ −= Φ Φ Φ Y

In the recursive least squares implementation, the rows in the matrix Eq. (123) are stepped through one at a time as follows (algorithm follows Ref. 8 almost exactly):

1. Select and a γ . 2. Comment: 1a γ= = is ordinary least squares; 1a γ= − and 0 1γ< < is exponentially weighted least

squares. 3. Select values for 0θ and , the initial estimates for the parameters and their estimate error covariance. 0P4. Calculate , the first row in the 1 (1,:)Tφ Φ Φ matrix. 1

Tφ is a 1 mθ× row vector taken from Φ , 1φ is a column vector, keeping with the standard notation used in Ref. 8.

5. 0k =

6. 1

1 1 1 11 Tk k

k k k kP PL

aφ φ φ

γ γ

+ + + +

⎛ ⎞= +⎜

⎝ ⎠⎟ (note that the inverse is of a scalar; L is a column vector,

effectively acting as the gain for

1mθ ×

θ updates) 7. Calculate ( is a scalar) 1 ( 1)ky Y k+ + y

ˆ ˆ ˆTk k k k kL y8. ( )1 1 1 1 kθ θ φ θ+ + + += + − ˆ (θ is a 1mθ × column vector)

9. ( )1 P+1 11 T

k k k kP I L φγ+ += − ( P is a m mθ θ× matrix of the covariances in the identification parameter

errors. However, it is based only upon and the rows of 0P Φ (but not Y ), so as far as using it as a measure of convergence, it reflects the information input, but not the closeness of fit. Analysis of the residuals calculated in step 8 may be more meaningful for that.)

10. Calculate , the next row in the 2 ( 2,:Tk kφ + Φ + ) Φ matrix.

11. 1k k= +12. Go to step 6.

Modification 1

If the regression equation changes so that each row of the Φ matrix is used by multiple θ vectors to produce multiple scalars, the dimensions of the variables change as follows: y

American Institute of Aeronautics and Astronautics

51

Page 52: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

• is a Y m nθΦ × matrix.

• θ is a m nθ θ× matrix of the parameters to be identified.

• ε is a m nθΦ × matrix, containing noise.

This effectively combines the multiple RLS IDs (for each column in θ ) into one regression. Each ID is really completely independent, but since they share the same Φ matrix, they can be calculated together (as long as they can also share , as discussed below). If this is the situation, the previous equations can be used exactly, except

that becomes a 10P

y nθ× row vector (and the above changes are made as well). The limitation that comes with this

convenience is that the columns of θ share the same matrix. One matrix of size mP 0P mθ θ× initializes , and

then, since each column of

Pθ uses the same row of Φ , the matrix is appropriately updated. So the only real

limitation is that each column of P

θ should be able to share a common . If this does not hold, then different

matrices should be propagated for each column of 0P P

θ , effectively meaning each column is identified independently.

Modification 2 (applicable in this case)

In a second permutation on the original, covered in Eq. (8.70 – 8.72) of Ref. 8, the regression equation could change so that the θ vector is shared by multiple rows of the Φ matrix, producing a vector of measurements, , at

each sample. Assuming measurements are taken at each sample, the dimensions of the variables change as follows:

y

ym

• is now greater by a factor of . It is equal to times the number of times at which samples are

taken. This increases the number of rows in Y ,

mΦ ym ymΦ , and ε .

There are three approaches that can be taken in this case: Approach 1: (exact) As presented in Eq. (8.70 – 8.72) of Ref. 8, the original algorithm is modified as follows:

• becomes a diagonal matrix, so a 1a− is needed instead of 1a

in step 6, meaning that a matrix inversion is

now required at each update. The inversion is of a square matrix with dimension equal to the number of measurements at each sample update.

• Tkφ becomes a ym mθ× matrix of row vectors in steps 4, 6, 8, 9, and 10.

• L becomes a gain matrix ym mθ ×

Approach 2: Run the original implementation one row at a time, ignoring the fact that samples come in at the same time (the approach taken here).

ymγ should be adjusted to account for the fact that the RLS ID will be updated

times for each sample update. The major benefit over Approach 1 is that the matrix inverse is avoided. ym

Approach 3: Same as Approach 2 except that the order of updating flips on each measurement update. So on the odd sample updates, the RLS is updated with rows 1, taken one at a time, in that order. On the even

updates, the RLS is updated with rows

2, , ym, 1, , 2y ym m ,1− .

These different approaches give identical results if 1a γ= = (no exponential weighting) since in that case, the sequence of measurements does not matter. For example, at the extreme, it does not matter if the measurements come in one at a time or all at once, as long as Y and Φ are the same. However, for the case where exponential weighting is applied, these approaches give different results.

American Institute of Aeronautics and Astronautics

52

Page 53: Automatic Balancing and Intelligent Fault-Tolerance for a ... · The high fidelity automatic balancing system (ABS) can sense the imbalance (both static and dynamic) and drive counterweights

If γ is adjusted as mentioned above, the first two approaches will differ slightly, since in Approach 2, the ym th measurement will be weighted slightly more than the first measurement in each sample update (since it appears to be more recent, even though it is not). If γ has been chosen to provide a relatively slow exponential decay (so the

approximate sample window is much greater than ), this difference that Approach 2 gives is probably acceptable given the benefit of avoiding the matrix inverse. Approach 2 would be consistently biased towards weighting the last elements in the measurement vector higher than the first elements.

ym

Approach 3 is aimed at reducing that potential problem in a way that still avoids the matrix inverse. In that case, the ordering of the RLS updates will flip on each sample update. The following plot shows the effective weightings applied to samples for the 3 different approaches. The weightings have been normalized so that the average weighting across all measurements in each Approach is 1.0. In this example, 10 measurements come in at each sample update. For the exact method, each of the 10 measurements taken at one time in each batch is weighted equally, as shown by the horizontal blue segments. In Approach 2, the weightings decrease exponentially going back in time/sequence (some of the Approach 2 points are covered with Approach 3 points).

Acknowledgments Funding for the research reported here, including development of the SSRL centrifuge prototype, was provided

by NASA Headquarters Code R and the Space Station Biological Research Project (SSBRP) at NASA Ames Research Center.

Thanks to other members of the NASA Ames SSRL who contributed to the centrifuge prototype development: Michael C. Guerrero, Alessandro Galvagni, and Ramin Esahagi. Thanks to NASA Ames Centrifuge Office personnel for support and interesting discussions related to Centrifuge Rotor control: Robert D. Barber, Dr. Jeremy H. Yung, Dr. Andrew S. Elliott, Martin D. Hasha, Roy Hampton, Dr. Ann L. Blackwell, Daniel L. Dittman, Li S. Chang, Dr. Jack M. Peng, and Epifanio Munoz. Thanks to the many members of the JAXA/Toshiba/NEC Toshiba Space Systems team for the open technical discussions of the various Centrifuge Rotor controller designs: Dr. Koichi Ohtomi, Osamu Nishimura, Ryo Furukawa, Hiroyuki Katayama, Takuya Kanzawa, Yoshitaka Ooi, and Osamu Kawamoto.

References 1Otsuki, F., Uematsu, H., Nakamura, Y., Ohtomi, K., Chida, Y., Kawamoto, O., “Approach to Realization of Micro-gravity

Performance of Centrifuge Rotor System,” Copyright 1998 Society of Automotive Engineers, Inc. 2Otsuki, F., Uematsu, H., Nakamura, Y., Chida, Y., Nishimura, O., Ohtomi, K., and Tanaka, M., “Vibration Isolation Control

of Centrifuge Rotor,” 5th International Conference on Motion and Vibration Control, 2000, pp. 415-420. 3Ohtomi, K., Otsuki, F., Uematsu, H., Nakamura, Y., Chida, Y., and Kawamoto, O., “Approach to Realization of Micro-

gravity Performance of Centrifuge Rotor,” 30th International Conference on Environmental Systems Proceedings, 2000. 4Ohtomi, K., Otsuki, F., Uematsu, H., Nakamura, Y., Chida, Y., Nishimura, O., and Okamura, R., “Active Mass Auto-

balancing System for Centrifuge Rotor Providing an Artificial Gravity in Space,” 31st International Conference on Environmental Systems Proceedings, 2001.

5Ohtomi, K., “Centrifuge rotor integrated analysis,” Modeling, Simulation and Calibration of Space-based Systems, SPIE Vol. 5420, April 2004.

6Lawson, C. and Hanson, R., Solving Least Squares Problems, Series in Automatic Computation, Prentice Hall, Englewood Cliffs, NJ, 1974.

7Gelb, A, et al., Applied Optimal Estimation, MIT Press, Cambridge, MA, 1974. 8Franklin, G., Powell, J.D., and Workman, M.L., Digital Control of Dynamic Systems, Second Edition, Addison Wesley

Publishing, Menlo Park, California, 1990. 9Devore, J.L., Probability and Statistics for Engineering and the Sciences, Second Edition, Brooks/Cole Publishing

Company, Belmont, California, 1987. 10MATLAB is a registered trademark of The MathWorks, Inc., 24 Prime Park Way, Natick, MA 01760, 508-647-7000.

American Institute of Aeronautics and Astronautics

53