Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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)