1
INTRODUCTION The control system designed in this project is for a servomechanism in a hard disk drive. These drives contain spinning disks. On the disks are circular patterns of magnetic dots. There are up to one trillion microscopic dots in a drive. Each represents a binary number due to its direction of magnetic polarization. Information is accessed by the servomechanism, which positions the read/write head over these magnetic bits. The majority of our digital information is stored on hard drives in large datacenters. The actuators in a typical servomechanism consist of a pivot bearing and piezoelectric element. During track following they produce small rotations which add to produce an overall linear displacement of the head off the track center. The actuator dynamics are as shown above as bode plots of the open loop frequency response of the pivot bearing (also known as Voice Coil Motor or VCM) and piezoelectric (also known as Micro Actuator or MA). The plots show multiple servomechanisms, and one can tell the hardware are slightly variable between drives. Thus engineers who want a single controller for all drives have to solve a robust control problem. This project only considers keeping the head over one track. Because the bits are 10 −9 m in size and the disks spin at 10 4 rpm small drive vibration as from a truck passing by can cause the head to go off track and misread the bits. The controller has access to the head position relative to the center of the track. This is calibrated accurately and rapidly by a signal read off the disk. An engineer can use the suboptimal control algorithm Musyn in MATLAB for solving this problem. Above is the schematic where is all the inputs (in this case a disturbance) and is all outputs. The uncertainty block Δ is used to capture all possible drive dynamics, so that the resulting controller is robust to different drives. is a robustly performing controller METOHDS The data (open loop hardware responses) is first processed. This consists in cleaning up data acquisition errors: removing erroneous data points and applying known correction factors. Next the data is modeled (seen below): Systune works on parametric models of dynamical systems, as opposed to frequency domain data. All system models are combined in an interconnection. This is the MATLAB object that contains all the dynamical system blocks, including the bounds, and their connections, similar to the block diagram below. Since the dataset consists of drives, the controller is connected to 2 blocks, two for each drive. Similarly there are 3 outputs, three for each drive. The entire interconnection (excepting the controller [ ]) forms the generalized plant (see simplified block diagram (∗) to the immediate left). Note the weighted outputs , , etc. The weights represent performance objectives on these signals. For example is the head position. The signal is large if the head position varies from the center of the track. Because the actuators are not effective at high frequencies this signal is expected to be larger at higher frequencies. This is reflected in the weight: the penalty is higher for low frequencies, and lower for high frequencies. This tells the algorithm where to work hardest on minimizing the error: particularly at low frequencies where we know the actuators are capable of staying over the track center. Shown above is the inverse of the weight: which is a performance “Goal”. The gain from disturbance to error (sensitivity) should be very low for low frequency disturbances, but is allowed to reach a small value around 1 at higher frequencies. Use of MSI In MATLAB the Systune function for cost optimization is Hinfstruct. I used an MSI node with 64 cores to parallelize the Hinfstruct function: it started the training from 1000 different initial conditions. Each search takes 5-10 seconds. MSI allowed me to conduct this project. It would not have been possible on the 2 and 4 core machines in the lab. The total computation time in the Mesabi node is 2-4 hours for the results shown to the left. MOTIVATION The figure below illustrates how the -synthesis design method is conservative. The blue dots represent the frequency response (of an actuator), and the circles are various ways of modeling the set of all possible responses. There may be controllers that perform well on the data that do not perform well on all possible LTI dynamics inside the circles. The data driven method is to “train” a controller for a given dataset. This can be done in MATLAB with the Systune function: 1. Start with a controller, tune the parameters and search for additional performance that was missed 2. Obtain a controller directly from the data with no The first case has the advantage that there is a known controller, but the final controller will have the same robust performance guarantees of the original, though it may perform better. This project focused on the second case, a controller that is only designed to work on a dataset. HYPOTHESIS By specifying goals and constraints, a computer algorithm can “train” a controller to achieve closed-loop performance given a dataset of several hardware dynamical system models. The schematic above is meant to illustrate that instead of an approximate uncertainty set Δ, Systune will search for a controller that performs well on all data available to the engineer. This is a nonconvex optimization however I predicted with the available computational resources a controller could be found. (∗) RESULTS The Systune algorithm found or trained a controller that achieved the sensitivity objective (blue curve abolve). The red curves are the sensitivity in each of the individual drives, based on the parametric models of hardware dynamics. However, as shown above. The controller gains (red curve) and (blue curve) are high. This is not an intuitive result that can be deduced from the data, but the actual drive engineers are able to look at plots of controller gain like the one above and determine whether they think the controller is feasible. These gains are too high and would result in voltage inputs to the actuators that would saturate them. In practice the linear models would no longer be applicable and the good sensitivity result could not be obtained. To accommodate this, additional weights are added, penalizing high actuator effort. The plot above is the sensitivity obtained on models with an effort penalty. DISCUSSION 1. The project focused on cost 2. The modeling process introduces inaccuracies that the algorithm will treat as ground truth, resulting in a controller that is not as good on real data. This is combatted by making the models more accurate. That introduces more work for the engineer, who, if the hardware dynamics are realistic and complicated, has to hand check each model for accuracy. 3. Wrapping any control design process, be it classical or optimal control, in a loop that tunes numeric parameters for added performance has not yet been fully explored. Due to the nature of the search algorithm some applications will probably work better than others. 4. The use of computing resources such as MSI should not be overlooked by the control engineer. Even though optimization of frequency domain objects may not resemble “learning,” nonconvex searches such as these do have the potential to either facilitate or improve control in various applications. Data Driven Controller Design Edward Samson (P.I. Prof Peter Seiler) University of Minnesota REFERENCES Schroeck, Steven J., and William C. Messner. "On controller design for linear time-invariant dual-input single- output systems." Proceedings of the 1999 American Control Conference (Cat. No. 99CH36251). Vol. 6. IEEE, 1999. (Servo shematic in the Introduction section) Honda, Masanori. "Temperature Dependent Robust Control of Hard Disk Drives Using Parameter Varying Techniques." (2016). (Block diagrams, bode plots excepting the results)

INTRODUCTION Data Driven Controller Design · The data driven method is to “train” a controller for a given dataset. This can be done in MATLAB with the Systune function: 1. Start

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INTRODUCTION Data Driven Controller Design · The data driven method is to “train” a controller for a given dataset. This can be done in MATLAB with the Systune function: 1. Start

INTRODUCTION

The control system designed in this project is for a servomechanism in a hard

disk drive. These drives contain spinning disks. On the disks are circular

patterns of magnetic dots. There are up to one trillion microscopic dots in a

drive. Each represents a binary number due to its direction of magnetic

polarization. Information is accessed by the servomechanism, which positions

the read/write head over these magnetic bits. The majority of our digital

information is stored on hard drives in large datacenters.

The actuators in a typical servomechanism consist of a pivot bearing and

piezoelectric element. During track following they produce small rotations which

add to produce an overall linear displacement of the head off the track center.

The actuator dynamics are as shown above as bode plots of the open loop

frequency response of the pivot bearing (also known as Voice Coil Motor or

VCM) and piezoelectric (also known as Micro Actuator or MA). The plots show

multiple servomechanisms, and one can tell the hardware are slightly variable

between drives. Thus engineers who want a single controller for all drives have

to solve a robust control problem.

This project only considers keeping the head over one track. Because the bits

are 10−9m in size and the disks spin at 104 rpm small drive vibration as from a

truck passing by can cause the head to go off track and misread the bits. The

controller has access to the head position relative to the center of the track. This

is calibrated accurately and rapidly by a signal read off the disk.

An engineer can use the 𝐻∞ suboptimal control algorithm Musyn in MATLAB for

solving this problem. Above is the schematic where 𝑑 is all the inputs (in this

case a disturbance) and 𝑒 is all outputs. The uncertainty block Δ is used to

capture all possible drive dynamics, so that the resulting controller is robust to

different drives. 𝐾 is a robustly performing controller

METOHDS

• The data (open loop hardware responses) is first processed. This consists in

cleaning up data acquisition errors: removing erroneous data points and

applying known correction factors.

• Next the data is modeled (seen below): Systune works on parametric models

of dynamical systems, as opposed to frequency domain data.

• All system models are combined in an interconnection. This is the MATLAB

object that contains all the dynamical system blocks, including the 𝐻∞bounds, and their connections, similar to the block diagram below. Since the

dataset consists of 𝑛 drives, the controller is connected to 2𝑛 blocks, two for

each drive. Similarly there are 3𝑛 outputs, three for each drive. The entire

interconnection (excepting the controller [𝐾𝑉𝐶𝑀 𝐾𝑀𝐴]) forms the generalized

plant 𝐺 (see simplified block diagram (∗) to the immediate left).

Note the weighted outputs 𝑒𝑉, 𝑒𝑀, etc. The weights represent performance

objectives on these signals. For example 𝑒𝑦 is the head position. The signal is

large if the head position varies from the center of the track. Because the

actuators are not effective at high frequencies this signal is expected to be

larger at higher frequencies. This is reflected in the weight: the penalty is higher

for low frequencies, and lower for high frequencies. This tells the algorithm

where to work hardest on minimizing the error: particularly at low frequencies

where we know the actuators are capable of staying over the track center.

Shown above is the inverse of the weight: which is a performance “Goal”. The

gain from disturbance to error (sensitivity) should be very low for low frequency

disturbances, but is allowed to reach a small value around 1 at higher

frequencies.

Use of MSI

In MATLAB the Systune function for 𝐻∞ cost optimization is Hinfstruct. I used an

MSI node with 64 cores to parallelize the Hinfstruct function: it started the

training from 1000 different initial conditions. Each search takes 5-10 seconds.

MSI allowed me to conduct this project. It would not have been possible on the

2 and 4 core machines in the lab. The total computation time in the Mesabi

node is 2-4 hours for the results shown to the left.

MOTIVATION

The figure below illustrates how the 𝜇-synthesis design method is conservative.

The blue dots represent the frequency response (of an actuator), and the circles

are various ways of modeling the set of all possible responses. There may be

controllers that perform well on the data that do not perform well on all possible

LTI dynamics inside the circles.

The data driven method is to “train” a controller for a given dataset. This can be

done in MATLAB with the Systune function:

1. Start with a controller, tune the parameters and search for additional

performance that was missed

2. Obtain a controller directly from the data with no

The first case has the advantage that there is a known controller, but the final

controller will have the same robust performance guarantees of the original,

though it may perform better.

This project focused on the second case, a controller that is only designed to

work on a dataset.

HYPOTHESIS

By specifying goals and constraints, a computer algorithm can “train” a

controller to achieve closed-loop performance given a dataset of several

hardware dynamical system models.

The schematic above is meant to illustrate that instead of an approximate

uncertainty set Δ, Systune will search for a controller that performs well on all

data available to the engineer. This is a nonconvex optimization however I

predicted with the available computational resources a controller could be

found.

(∗)

RESULTS

The Systune algorithm found or trained a controller that achieved the sensitivity

objective (blue curve abolve). The red curves are the sensitivity in each of the

individual drives, based on the parametric models of hardware dynamics.

However, as shown above. The controller gains 𝐾𝑉𝐶𝑀 (red curve) and 𝐾𝑀𝐴 (blue

curve) are high. This is not an intuitive result that can be deduced from the data,

but the actual drive engineers are able to look at plots of controller gain like the

one above and determine whether they think the controller is feasible. These

gains are too high and would result in voltage inputs to the actuators that would

saturate them. In practice the linear models would no longer be applicable and

the good sensitivity result could not be obtained.

To accommodate this, additional weights are added, penalizing high actuator

effort. The plot above is the sensitivity obtained on models with an effort

penalty.

DISCUSSION

1. The project focused on 𝐻∞ cost

2. The modeling process introduces inaccuracies that the algorithm will treat as

ground truth, resulting in a controller that is not as good on real data. This is

combatted by making the models more accurate. That introduces more work

for the engineer, who, if the hardware dynamics are realistic and

complicated, has to hand check each model for accuracy.

3. Wrapping any control design process, be it classical or optimal control, in a

loop that tunes numeric parameters for added performance has not yet been

fully explored. Due to the nature of the search algorithm some applications

will probably work better than others.

4. The use of computing resources such as MSI should not be overlooked by

the control engineer. Even though optimization of frequency domain objects

may not resemble “learning,” nonconvex searches such as these do have

the potential to either facilitate or improve control in various applications.

Data Driven Controller DesignEdward Samson (P.I. Prof Peter Seiler)

University of Minnesota

REFERENCESSchroeck, Steven J., and William C. Messner. "On controller design for linear time-invariant dual-input single-

output systems." Proceedings of the 1999 American Control Conference (Cat. No. 99CH36251). Vol. 6. IEEE, 1999. (Servo shematic in the Introduction section)

Honda, Masanori. "Temperature Dependent Robust Control of Hard Disk Drives Using Parameter Varying Techniques." (2016). (Block diagrams, bode plots excepting the results)