Upload
deepakagarwal1889
View
201
Download
0
Tags:
Embed Size (px)
Citation preview
TIME OPTIMAL CONTROL OF Z-AXIS OF WIRE BONDER
A Thesis
Submitted to the Faculty
of
Purdue University
by
Deepak Agarwal
In Partial Fulfillment of the
Requirements for the Degree
of
Master of Science in Mechanical Engineering
May 2004
ii
ACKNOWLEDGMENTS
First and foremost, I would like to thank my adviser Dr. P.H Meckl for being a
teacher, a friend and a truly exemplary human being. His exceptional cheerful
personality is infectious to everyone who comes in contact with him. His knowledge,
wisdom and continued support will always be remembered. I thank him for all the
wonderful opportunities he has offered me and I surely look forward to cooperating with
him in the future.
I would like to thank Dr. G.C. Chiu and Dr. Bin Yao for serving on my graduate
committee. I would also like to acknowledge all the help and efforts put in by Kamran. I
would also like to thank the faculty members and graduate students in the Mechanical
Engineering Department with whom I consulted with throughout the duration of this
work.
A great big thank you goes to my biggest investment in this world, to my dear
friends. This world would be very lonely without you all. I would also like you to thank
all the wonderful people I met at Purdue who brightened my days and helped make this
place a home away from home.
I would like to acknowledge the love and support of my parents and my lovely
sister. This effort is as much theirs as it is mine.
iii
TABLE OF CONTENTS
Page
ABSTRACT ....................................................................................................................... x
1. INTRODUCTION ...........................................................................................................1
1.1 Background .............................................................................................................. 1 1.2 Industrial Motivation................................................................................................ 2 1.3 Research Objectives ................................................................................................. 2 1.4 Thesis Outline .......................................................................................................... 3
2. LITERATURE REVIEW ................................................................................................5
2.1 Prior Work in Command Shaping............................................................................ 5 2.2 Introduction to Input Shaping .................................................................................. 8
2.2.1 Single Mode Input Shaping ........................................................................... 9
3. DATA ACQUISITION AND EXPERIMENTAL SETUP...........................................11
3.1 System Description ................................................................................................ 11 3.1.1 Bond Cycle................................................................................................... 13
3.2 Experimental Setup And Data Acquisition............................................................ 15
4. SYSTEM MODELING .................................................................................................18
4.1 Development of Linear Model ............................................................................... 18 4.2 Dynamic Analysis of the Z-Axis of the Wire Bonder............................................ 22
4.2.1 Rigid Body Dynamics.................................................................................. 23 4.3 Dynamic Modeling................................................................................................. 26
4.3.1 Linearizing Motor Inertia and Damping ...................................................... 29 4.4 Kinematics Modeling ............................................................................................. 30 4.5 State Equations and Model Representation............................................................ 31 4.6 Model Validation: Input Output Comparison ........................................................ 33
4.6.1 Open Loop Model Representation of Motor Model .................................... 35 4.6.2 Open Loop Input Output Comparison of Motor Model............................... 35 4.6.3 Closed Loop Model Representation of Motor Model.................................. 36 4.6.4 Closed Loop Input Output Comparison of Motor Model ............................ 36
4.7 Time Domain Analysis .......................................................................................... 37 4.8 Frequency Domain Analysis .................................................................................. 39 4.9 Comparison of Open Loop Linear and Nonlinear Plant Models ........................... 40
iv
Page
5. WIRE BONDER Z-PROFILES ....................................................................................43
5.1 Velocity Profile Characteristic............................................................................... 43 5.2 Profile Approximation ........................................................................................... 45 5.3 Development of Torque Optimized Profiles .......................................................... 47
5.3.1 Effect of Torque Optimized Profile on Residual Vibration......................... 52
6. COMMAND SHAPING AND CONTROL STRATEGY ............................................54
6.1 Development of Time-Optimal Point-to-Point Control Problem........................... 54 6.2 Time-Optimal Command ....................................................................................... 55
6.2.1 Analytic Solution to Time-Optimal Command Problem with no Flexible Mode (Method 1) ........................................................................................ 56
6.2.2 Analytic Solution to Time-Optimal Command Problem with no Flexible Mode (Method 2) ........................................................................................ 58
6.3 Setting up Time-Optimal Command Problem ....................................................... 61 6.3 1 Solution to Time-Optimal Command Problem Using Least Square
Optimization................................................................................................ 62 6.4 Robust Time Optimal Command ........................................................................... 64 6.5 Proposed Controller Design Framework: 2-DOF Controller................................. 65 6.6 An Example of Finding Solution to Time-Optimal Command Problem Using
Least Square Optimization Approach .................................................................... 68
7. CONTROL STRATEGY IMPLEMENTATION AND SIMULATION RESULTS....71
7.1 Two Different Techniques to Design Forcing Functions....................................... 71 7.2 Input Design Specifications ................................................................................... 72 7.3 Open-Loop Simulation Results .............................................................................. 73 7.4 Closed loop Simulation Results ............................................................................. 76 7.5 Key Results of Developed Control Strategies........................................................ 83 7.6 Robustness to Variation in System Parameters...................................................... 86
7.6.1 Relative Sensitivity of Residual Vibrations to Change in Frequency.......... 87 7.6.2 Relative Sensitivity of Residual Vibration to Change in Modal Damping.. 88 7.6.3 Absolute Sensitivity of Residual Vibration to Change in Natural
Frequency and Modal Damping.................................................................. 89 7.6.4: Absolute Sensitivity of Residual Vibration to Change in Rigid Body
Inertia and Viscous Damping...................................................................... 91 7.7 Summary of Results ............................................................................................... 93
8. CONCLUSIONS AND FUTURE WORK....................................................................95
8.1 Conclusions............................................................................................................ 95 8.2 Future Work ........................................................................................................... 96
LIST OF REFERENCES...................................................................................................98
v
LIST OF TABLES
Table Page
4.1: Parameter values used in overall transfer function ( )G s . .................................. 21
4.2: Parameters used in kinematic analysis. ............................................................... 26
4.3: Controller gains used in closed loop servo model............................................... 33
4.4: Linearized values of motor inertia and damping................................................. 36
6.1: Dimensionless parameters used in transfer function * ( )G s and their corresponding expressions. ................................................................................. 62
6.2: Values of variables used in the ( )G s . ................................................................. 69
7.1: Rigid body move time for different moves on the trajectory. ............................. 72
7.2: Peak torque limit specification and residual vibration specification................... 72
7.3: Effective values of inertia and damping used for different moves for generating bang-bang forcing function profile...................................................................... 78
7.4: PD Controller gains. ............................................................................................ 80
7.5: Comparison of 1% insensitivity in natural frequency for 3 different inputs....... 88
7.6: Comparative summary of different waveforms................................................... 93
7.7: Quantitative summary of different command signals. ........................................ 94
vi
LIST OF FIGURES
Figure Page
2.1: Superimposition of time responses due to two impulses. ..................................... 8
2.2: Block diagram of an input shaper preceding a system.......................................... 9
3.1: Touch sensor........................................................................................................ 12
3.2: Z limit sensor....................................................................................................... 12
3.3: Bonding sequence................................................................................................ 14
3.4: Frequency response schematic. ........................................................................... 16
4.1: Comparison of time responses of modified 20th-order model and approximated 4th-order model. ................................................................................................... 19
4.2: Frequency response comparison of the actual servo and simulated model of the Z-servo........................................................................................................... 20
4.3: Frequency response comparison of the modified 20th-order model and the approximated 4th-order model. ............................................................................ 20
4.4: Approximation of Z-axis with the vertical slider crank mechanism. .................. 23
4.5: Approximation of rigid link having center of mass at C with two point masses at end. ...................................................................................................... 24
4.6: Geometry of linkages in the slider crank mechanism. ........................................ 25
4.7: Variation of motor inertia with crank angle. Dark curve shows the variation in motor inertia within the operating range of crank. .............................................. 29
4.8: Variation of motor damping with crank angle. Dark curve shows the variation in motor damping within the operating range of crank. ...................................... 30
4.9: Simulink motor block.......................................................................................... 32
4.10: Comparison of closed loop and open loop motor model. ���������35
4.11: Input output comparison of open loop model. .................................................... 35
4.12: Input output comparison of closed loop model. .................................................. 37
vii
Figure Page
4.13: Actual and simulated time responses of wire bonder Z-axis for different initial offset angles with 3 Volts peak to peak square wave of 30 Hz........................... 38
4.14: Frequency Response of the actual system at different crank angles. .................. 39
4.15: Comparison of linear and nonlinear models. �������...������42
4.16: Comparison of outputs from open loop linear and nonlinear models. ................ 42
5.1: Ideal bond head velocity profile with no reverse motion.................................... 44
5.2: Constrained least square curve fit of velocity profile with least square error=1.0294�������������������.���������...������47
5.3: Comparison of ideal and approximate Z-axis profiles. ....................................... 47
5.4: Figure showing how the step size of the actual data is reduced recursively, until the area under the velocity curve of the optimal velocity (dashed line) becomes equal to the area under the velocity curve of the actual velocity (solid line)............................................................................................................ 48
5.5: Trapezoidal approximation of acceleration and velocity profile......................... 49
5.6: Flowchart for calculating the torque optimized profile....................................... 51
5.7: Accelerometer output showing residual vibrations when peak acceleration is increased. (a) shows the actual accelerometer output of the system, (b), (c), and (d) show the accelerometer output of the torque-optimized profile with different peak acceleration limits. ....................................................................... 52
6.1: Bang-bang input profile....................................................................................... 55
6.2: Convolution of step command with a sequence of impulses to get optimal pulse train. ........................................................................................................... 59
6.3: Rigid body with two poles, its pole-zero plot and its time-optimal command profile. ................................................................................................................. 59
6.4: General 2-DOF servomechanism; P, C, F, u, y, r, e, d, f denote the physical plant, feedback compensator, feedforward compensator, servo input, measured output, desired trajectory, servo position error, disturbances, and forcing function, respectively.............................................................................. 65
6.5: Closed loop control strategy. ��������������...�����68
6.6: A simple model showing two masses attached with the spring and the damper. Mass M1 has damping to ground. .......................................................... 68
6.7: First plot shows input force profile vs time for time-optimal input of rigid body, second figure shows the time -optimal non-robust force profile with constraints on residual vibrations developed using least square optimization.... 69
viii
Figure Page
6.8: Acceleration comparison for bang-bang input and the time-optimal input developed using least square optimization. The output of the rigid body time-optimal input shows considerable fewer vibrations. ........................................... 70
7.1: Bang-bang time-optimal torque profile. .............................................................. 74
7.2: Optimal torque profile generated using ramped sinusoid functions.................... 74
7.3: Open loop acceleration comparison of linear and nonlinear model for bang-bang optimal profile. Second figure shows the exploded view of the residual vibrations after second move. ................................................................ 75
7.4: Open loop acceleration comparison of linear and nonlinear model for ramped sinusoid functions. Second figure shows the exploded view of the residual vibrations after first move. .................................................................................. 75
7.5: Closed loop acceleration comparison of output of nonlinear model with linear feedforward and linear model with linear feedforward when bang-bang torque profile is used as input......................................................................................... 77
7.6: Closed loop acceleration comparison of output of nonlinear model with linear feedforward and linear model with linear feedforward when ramped sinusoid torque profile is used as input.............................................................................. 77
7.7: Closed loop acceleration comparison of output of nonlinear model with nonlinear feedforward and linear model with linear feedforward when bang-bang torque profile is used as input............................................................ 79
7.8: Closed loop acceleration comparison of output of nonlinear model with nonlinear feedforward and linear model with linear feedforward when ramped sinusoid torque profile is used as input. ................................................. 79
7.9: Open loop displacement comparison of linear and nonlinear model for bang-bang optimal profile. .................................................................................. 81
7.10: Closed loop displacement comparison of linear and nonlinear model for bang-bang optimal profile. .................................................................................. 81
7.11: Comparison of the PD controller effort for various control schemes for bang-bang input. .................................................................................................. 82
7.12: Comparison of tip acceleration of nonlinear model with linear and nonlinear feedforward for bang-bang input......................................................................... 84
7.13: Comparison of tip acceleration of nonlinear model with linear and nonlinear feedforward for ramped sinusoid input. .............................................................. 84
7.14: Comparison of tip acceleration of nonlinear system with and without feedforward controller for bang-bang input. ....................................................... 85
7.15: Comparison of tip acceleration of nonlinear model with and without feedforward controller for ramped sinusoid input............................................... 85
ix
Figure Page
7.16: Comparison of robust and non-robust bang-bang profile. .................................. 86
7.17: Sensitivity curves of residual vibration to variation in normalized frequency for different inputs and for different moves. ....................................................... 87
7.18: Sensitivity curves of residual vibration to variation in normalized modal damping for different inputs and for different moves. ........................................ 89
7.19: Comparison of maximum residual vibration of nonlinear model with bang-bang forcing profile and ramped sinusoid forcing profile when natural frequency is increased and decreased by 5%. ..................................................... 90
7.20: Comparison of maximum residual vibration of nonlinear model with bang-bang forcing profile and ramped sinusoid forcing profile when damping ratio is increased and decreased by 5%. .............................................................. 90
7.21: Comparison of maximum residual vibration of linear and nonlinear model with bang-bang forcing profile and ramped sinusoid forcing profile when rigid body inertia is increased and decreased by 10%......................................... 92
7.22: Comparison of maximum residual vibration of linear and nonlinear model with bang-bang forcing profile and ramped sinusoid forcing profile when rigid body damping is increased and decreased by 10%................................. 92
7.23: Comparison of different input torques: Torque-optimized, robust bang-bang, and ramped sinusoid input torque profiles. ......................................................... 93
x
ABSTRACT
Agarwal,Deepak, M.S.M.E., Purdue University, May, 2004. Time Optimal Control of Z-Axis of Wire Bonder. Major Professor: Dr. Peter H. Meckl, School of Mechanical Engineering.
Wire bonders are required to execute high precision motions to achieve high
production volumes in semiconductor manufacturing. The bond head of a wire bonder is
used to attach the wire to chips and printed circuit boards. During its high-speed motion,
the transmission elements tend to flex resulting in some residual vibrations at the end of
final motion. The objective of this research is to extend the field of time-optimal
command shaping by developing the methodology to control residual vibrations of the Z-
axis bond head in a wire bonder system. Command shaping is a general technique to
facilitate rapid motion of flexible systems without residual vibrations. A nonlinear model
capturing the dynamics of the vertical motion of the bond head of the wire bonder is
developed and validated in the time and frequency domains.
Concerning the design of the nominal force profile, attention has been focused on
minimum time point-to-point motions, which move the mass from one point to another in
the shortest possible time. A two DOF-controller framework is proposed that utilizes
both a feedforward and feedback control strategy. The inverse of the nominal model that
is used to design the force profiles serves as the feedforward controller. The feedback
controller is designed such that the reference trajectory is tracked even under model
uncertainties and disturbances. Simulation results demonstrate that these model based
force profiles show a significant improvement in speed of motion for the wire bonder.
1
1. INTRODUCTION
1.1 Background
Multi-axis machines are used in a variety of applications like welding, machining,
etc. Such machines can be divided into two units: the physical mechanism, composed of
links and actuators, and the control system. The number of actuators present in the
mechanical system depends on the number of independent machine axes or degrees of
freedom.
A motion task given to the machine must ultimately be represented as a reference
signal, which is sent to the control system. The control system acts to make the machine
track the reference signal by activating the appropriate actuators. Computer algorithms
are designed to calculate an appropriate reference signal based on the desired task path
and time related limits. The reference path or trajectory can be defined from one point to
another point i.e., the links or manipulators are required to move between the two points
but are not given any fixed intermediate path.
The control of machine motion can be divided into two parts: motion planning
and motion tracking. Motion planning involves generating the path and its time law,
providing the controller�s reference signal. Motion tracking, on the other hand, is
concerned with improving the tracking of the reference signal. Motion planning is often
done off-line since the trajectory generation algorithms are computationally intensive.
However it is often desirable to generate trajectories on-line so that changes can be easily
made to the machine�s trajectory, increasing the system robustness and adaptability.
2
1.2 Industrial Motivation
Increased productivity is an important industrial consideration. When the
machine limits the task speed, decreasing the machine�s overall motion time will increase
productivity. Thus machine-processing time becomes the system bottleneck. Such
machines represent high capital cost; therefore increasing the number of machines is
often not feasible. The capabilities of the machine actuators further limit the motion
time. However, increasing the size and power of the actuators is not always desirable
since this would increase the inertia of the overall system. Such a solution can be largely
self-defeating. Another approach is to use minimum-time trajectories. In addition,
improving the tracking accuracy of the machine is always desirable since it results in
more repeatable products or operations.
One such industrial application where the fast and high precision motion is
required is wire bonding. It is a method to attach a fine wire from one connection pad to
another, completing the electrical connection in an electronic device. The productivity
can be increased by giving fast motion commands but they carry the risk of exciting the
resonant modes inherent in the structure. So the motion commands can be designed in
such a way that minimum time is taken to complete the bonding cycle with minimum
residual vibrations.
1.3 Research Objectives
The objective of this research is to extend the field of command shaping by
developing a methodology to control the residual vibrations of the bond head by
generating near time-optimal trajectories off-line and to demonstrate that command
shaping approach can result in significant time savings. Wire bonding is a very fast
process. So a potential exists to increase the productivity further by accelerating the
motion of Z-axis bond head. Large accelerations and speeds to move a bond head
quickly can cause vibrations, thus reducing the throughput of the overall process.
Moreover these vibrations have a detrimental effect on the quality of the bonding. If the
time it takes to sufficiently damp the vibration for accurate placement is greater than the
3
time gained through increasing the maneuver speed, then the overall effect is a reduction
in the throughput. Thus vibration control is an important consideration for creating
precise and high-speed rest-to-rest motion of the bond head.
Command shaping constitutes a wide range of trajectory planning approaches for
mitigating the residual vibrations caused during repositioning of compliant loads. The
goal of this research is to find an input command that will move the Z-axis bond head
from one rest point to another in the shortest possible time subject to actuator constraints
in a manner that will minimize the residual vibrations. Residual vibration is a measure of
the maximum travel of the system from the equilibrium for all time, t ≥ ti where ti is the
time of completion of a command. The method developed uses a least square
optimization approach for generating the time-optimal trajectory which when given to the
system will produce less vibrations. Time domain simulation on a model is presented to
corroborate the above fact.
1.4 Thesis Outline
Chapter 2 presents the literature review and discusses the previous research done
in the field of command shaping. This is followed by a brief introduction of command
shaping and ways to avoid exciting the resonance vibration using command shaping.
Chapter 3 discusses the actual setup of the wire bonder. All components of the
experimental setup are explained in detail and the procedure to collect the data is
presented.
Chapter 4 discusses how the z-axis motion of the wire bonder is modeled. A
nonlinear differential equation of the motion was derived using Lagrange�s equation.
State equations were developed to represent the system in Simulink. The behavior of the
actual system was investigated in frequency-domain as well as in time-domain. The
model creates a basis for time-domain simulation, useful in predicting residual vibration
and also for generating frequency responses in order to compare the actual system and the
model. To validate the model, a comparison between input and output profiles of the
developed model and that of the actual system was also made.
4
Chapter 5 discusses the profile characteristic of a typical trajectory followed by
the capillary. This chapter further illustrates the methods used to approximate the
trajectory and how those profiles are used to generate the torque optimized profile. In the
end the results generated by applying the torque-optimized input to the wire bonder
model are presented.
Chapter 6 discusses the design of the open loop force command, which accounts
for the modeled dynamical effects of the system. This is followed by an overview of the
problem at hand. A closed form analytical expression is developed for finding the move
time of the rigid body. This chapter also discusses the controller design framework,
which integrates open loop force command, feedback controller, and feedforward
controller in a two degree-of-freedom controller structure.
Chapter 7 discusses the results of the control strategy implemented on the
nonlinear model. The time-optimal trajectory is developed off-line using least square
optimization that will minimize the residual vibrations. This chapter also discusses
implementation of the controller design framework, which integrates open loop force
command, feedback controller, and feedforward controller in a two degree-of-freedom
controller structure. For different control structures, simulation results are presented and
compared against two different techniques of forcing function design.
In the end chapter 8 presents some conclusions and recommendation for future
work.
5
2. LITERATURE REVIEW
2.1 Prior Work in Command Shaping
The objective of most motion control systems is to move from one position to
another as rapidly as possible. Sometimes this objective can be hard to achieve. There
are a number of common problems that can hamper the performance of a system. For
example the drive train between the motor and the load may not be stiff enough to
transmit the drive forces without deforming. Or the reaction forces from motors may
excite vibrations in other critical system elements. In each of these cases, it is possible to
move the load quickly but the result is that it can take a long time for the load to settle
into its final position.
The simplest method to create faster, more precise motions in mechanical systems
is to make the system stiffer or make the load lighter. Both these suggestions will help,
but it is usually difficult to substantially increase the stiffness or decrease the weight
within the physical constraint of the original design.
Traditional methods of control involve using a feedback system to achieve the
desired performance specifications. Many researchers have examined closed loop
feedback techniques to reduce residual vibrations [1]. Feedforward control has greater
success in reducing the position error. The main advantage of the feedforward method is
that it is an open loop method and therefore it does not affect loop stability.
Another term for feedforward control is command shaping. One method of
command shaping is waveform synthesis. Meckl and Kinceler [2] have been able to
achieve fast motions with minimum residual vibrations using ramped sinusoid forcing
functions. The coefficients of forcing functions are constructed so as to minimize the
excitation in a range of frequencies surrounding the system natural frequency.
Furthermore insensitivity to modeling errors can be easily built into the design. Many
6
researchers have also looked into the development of S-curves. S-curves are forcing
functions that are gradually applied and removed instead of being switched from
maximum positive and negative force. Meckl and Arestides [3] have optimized the
selection of S�curve profiles such that there are significant reductions in residual
vibrations when compared to trapezoidal input.
Another classification of command shaping is input shaping. Input shaping is a
feedforward method to shape the input to the mechanical system to avoid exciting the
resonance vibration. Input shaping is implemented by feeding an input to an input
shaper, which convolves a sequence of impulses with the original input. Robustness to
parameter uncertainty is the largest drawback to time-optimal inputs. Pao, et al. [4] has
developed several types of input shapers to account for uncertainty in natural frequency.
The zero-vibration (ZV) and zero derivatives (ZVD) input shaper cause the residual
vibration and derivative of residual vibration to be zero at natural frequency. There are
various design schemes of input shaping. Some use both negative and positive impulses
[5] and others use only positive impulses [6]. The shapers that use both positive and
negative impulses have a faster move time but can be quite taxing for the actuators which
have to switch from maximum positive to maximum negative force in a limited time.
Another command shaping technique, which is followed in this research, is open
loop optimal profiling which solves a two-point boundary value problem through
minimization of a performance index. Farrenkopf [7] uses an optimal open loop profile
to show how the product of the lowest natural frequency and maneuver time is an
important parameter in determining the type of optimal response. The main drawback of
open loop optimal profiles is that they are sensitive to parameter uncertainty and
modeling errors. Reynolds and Meckl. [8] have developed some guidelines for solving
the constraint optimization problems. He has applied both constraint optimization and
least square programming approach to the same problem and compared their advantages
and disadvantages.
Singh, et al. [9] have shown that the time-optimal input profile is a bang-bang
signal that switches between maximum positive and maximum negative force. Pao [10]
showed that switching profiles of flexible systems having some amount of modal
7
damping must have more than one internal switch. Pao [11] has developed the solution
technique based on least square optimization. She showed that using a discrete-time
model, the objective is to find an input, bounded by the actuator limits, that reduces the
norm of the difference between the desired and the actual state vector to zero at the end
of the control time. If the sample time is sufficiently small, the control sequence is a
good approximation of the continuous time-optimal control.
Tuttle and Seering [12] outline a general strategy for deriving time-optimal inputs
that takes into account all possible types of system denominator dynamics. He showed
that a dynamics cancellation principle could be applied to the system with oscillatory
modes as well as to the real and rigid body modes. His idea was, in order to move a
system from one point and bring it to rest at another the input command must have zeros
at the system poles. This assertion can be used to derive a set of constraint equations
governing the optimal command solution.
The input shaping technique is also applicable to multimode systems. Hyde and
Seering [13] developed a technique that involves the solution of a group of simultaneous
nonlinear impulse constraint equations. Singh, et al. [14] showed that multimode systems
can be dealt with by convolving the impulse sequences for each individual mode with one
another. Thus for a system with N modes after necessary convolutions, the control
impulse sequence would contain 2N in the non-robust case and 3N in the robust case. In a
later paper, they deal explicitly with the multiple mode case and showed that the above
requirement can be reduced to N+1 or 2N+1 impulses, respectively. In [14] they
presented the method that will allow a multimode system to be controlled by a shaped
input technique with only two impulses in the non-robust case and three impulses in the
robust case regardless of number of modes present in the system.
Various researchers have applied various techniques of command shaping to
control fast processes in the semiconductor industry. Meckl and Umemoto [15] have
developed shaped torque inputs that minimize move time while avoiding overshoot and
oscillations. These inputs are applied to an actual semiconductor manufacturing
machine, utilizing both feedforward and feedback strategies for minimizing the degree of
vibration generated during fast motions. De Roover and Sperling [16] investigated the
8
point-to-point control of a wafer stage. He compared different open-loop force
commands and showed that the command generated using a series of versines is a
preferred input because of its capability to shape the force spectrum. Also he further
analyzed the role of feedforward and feedback compensator in the suppression of residual
vibration.
2.2 Introduction to Input Shaping
In recent years heavy rigid body structures are increasingly being replaced by
lightweight flexible structures. These lightweight structures lessen the weight and can
increase the speed but can also introduce flexibilities into the system. The idea behind
developing the optimum profile is to improve the cycle time but, as shown in Figure 2.1,
the improved cycle time is followed by an increase in residual vibrations thus affecting
quality. The residual vibrations should be zero or near zero at the end of the input
command. These residual vibrations are the result of structural resonance inherent in the
system. The presence of resonance hinders the ability of the system to reach the
destination without vibration.
Figure 2.1: Superimposition of time responses due to two impulses.
9
To illustrate the idea of zero vibration command, consider the second order
flexible system [21]. We know that giving an impulse to a second order system will
cause it to vibrate, however if we apply a second impulse, as shown in Figure 2.1, we can
cancel the vibration induced by the first impulse. The goal of input shaping is to
determine amplitudes and timing of these impulses to cancel or reduce the residual
vibrations.
Figure 2.2: Block diagram of an input shaper preceding a system.
Input shaping is a feedforward method to shape the input to the mechanical
system to avoid exciting the resonances. Input shaping is implemented by feeding an
input to an input shaper, which convolves a sequence of impulses with the original input.
The output of the input shaper is known as the shaped input and this is then the new input
to the system. Figure 2.2 shows a simple 2-impulse shaper preceding a system. In order
to design an input shaper so that residual vibration in the system output is reduced,
knowledge about the natural frequency ω and damping ζ is needed.
2.2.1 Single Mode Input Shaping
The second order system response to an impulse input is described by
( ) ( ) ( )( )2sin 1it tiy t Ae t tςω ω ς− −= − − (2.1)
where ( )y t is the output,
A is the impulse amplitude,
it is the time at which impulse occurs,
ω is the system natural frequency,
ς is the system damping ratio.
10
If the system is linear then the output of the system to an impulse sequence of length N
can be expressed as a sum of the responses to each impulse i [13]. The total response is
given by:
( ) ( ) ( ) ( ) ( )1 22 2
2 2
1 1sin 1 cos 1N i N i
N Nt t t t
i i i ii i
y t A e t A e tςω ςωω ς ω ς− − − −
= =
= − + −
∑ ∑ (2.2)
For residual vibration to be zero, the sine and cosine terms in Equation (2.2) have to be
independently equal to zero:
( )( ) 2
1sin 1 0
t tN iN
i ii
A e tςωςω ω ς
− −−
=
− =∑
( )( ) 2
1cos 1 0
t tN iN
i ii
A e tςωςω ω ς
− −−
=
− =∑ (2.3)
To construct the impulse sequence, two constraints are added:
1t =0
11
N
ii
A=
=∑ (2.4)
The first constraint specifies that the impulse sequence starts from t = 0 and the
second is the normalization constraint. The second constraint ensures that the shaped
input does not exceed limitations imposed by the actuator.
To account for modeling inaccuracies in damping ratio and natural frequency, the
shaper should exhibit some insensitivity to errors. To account for robustness, three
impulses have to be used. By differentiating equation (2.3) with respect to natural
frequency, we will get two additional impulse constraints, given by:
( )( ) 2
1sin 1 0
t tN iN
i i ii
A t e tςωςω ω ς
− −−
=
− =∑
( )( ) 2
1cos 1 0
t tN iN
i i ii
A t e tςωςω ω ς
− −−
=
− =∑ (2.5)
We have four equations (2.3) and (2.5) with four unknowns, two amplitudes and
two times, to solve for to fully determine the impulse sequence.
In this work, the switch time and the impulse amplitudes are determined by doing
the least square optimization, the details of which are given later.
11
3. DATA ACQUISITION AND EXPERIMENTAL SETUP
This chapter describes the actual setup of the wire bonder. The system being
investigated is an automatic, high-speed computer controlled thermosonic wire bonder by
Kulicke and Soffa (K&S) model no 1419/18. All components of the experimental setup
are explained in detail and the procedure to collect the data is presented.
3.1 System Description
A wire bonder machine is used to make the bonds inside integrated circuit (IC)
chips and hybrid devices that use a number of electronic components on a single
substrate. A very thin gold wire is heated to form a ball and then is adhered to the first
surface. After lifting up the bond head in a strain-relieving pattern, the second end of the
wire is heated and placed at the appropriate place. This bonder is a thermosonic bonder,
which employs a combination of force, temperature and high frequency ultrasonic scrub
to bond.
The wire bonder system consists of two components: the computer and the work
area. The computer contains the power amplifiers, which convert a voltage signal to
current signal, the axis control boards, and the main logic boards. This portion of the
system controls the work area based on programmed instructions and input from the work
area sensors. Through programming, the computer can change operational parameters
like bond forces, bond time and loop height.
The work area consists of Z-axis control, which is attached to the bond head and
the X-Y table. The bond head is driven by the cam, which is in turn driven by the Z
servo. The cam is attached to the bond head through a kinematic linkage. There are two
sensors on the bond head. The first one is the touch sensor, which is a basic switch that
12
breaks when the capillary touches any surface, and the second one is the Z limit sensor.
Figure 3.1 and Figure 3.2 show the touch sensor and Z limit sensor, respectively. Z limit
sensor is an optical switch that is controlled by the cam extension around the crank
mechanism. When the crank blocks the gap between the emitter and detector of the limit
switch it opens the circuit. The working range of the Z axis servo as limited by the Z
limit sensor is 1200.
Figure 3.1: Touch sensor.
Figure 3.2: Z limit sensor.
Gold wire from the spool is placed inside the capillary that hangs below the bond
head. The X-Y table moves the work area under the bond head, while the cam turns to
move the bond head up and down, laying gold wire between contacts on the work
surface. During normal operation of the wire bonder, the motion of the capillary tube is
precisely controlled to provide strain relief to the wire.
13
The motion along each axis is controlled by separate servos. The X, Y and Z
servo control boards are identical. Each servo assembly consists of a DC servomotor, a
tachometer and a position encoder. The encoder uses a photo sensor and a disk marked
with radial lines. The output of the encoder goes to the computer where it is compared
with the desired position curve. The desired position changes as the computer drives the
x-y table or bond head to follow certain motions. The computer takes the difference
between these numbers and sends it to the D-to-A converter, which generates an analog
voltage equivalent to the number in the computer.
Besides the servo boards, the computer also contains a logic board, which
evaluates the input from machine sensors and controls various actuators other than the
servomotors, such as the solenoids. Besides the logic boards, there are PRAM
(Programmable Random Access Memory) and ROM (Read Only Memory) boards, which
are used for storing the user-defined instructions [25].
The present model of wire bonder has a pattern recognition system, which
automatically determines the exact position of each die on a package, eliminating the
need for an operator to align and enter reference points manually. The objective is to
save time while bonding each device and to increase the number of perfectly bonded
devices per time period. To ensure reliable recognition of extremely small dies, two
cameras are used to provide programmable high and/or low magnification of any
reference system.
3.1.1 Bond Cycle
The bonding cycle starts by first forming a ball at the end of the gold wire. Figure
3.3 shows the bonding sequence in detail. The high voltage EFO electrode swings out
under the wire, and applies an electric arc to the wire tail thus forming the ball. This arc
melts the wire and a ball of approximately 0.37-mm in diameter is formed. Once the ball
is formed, and the x-y table moves directly under the z-axis to the precise location of the
first bond on the substrate (stage A shown in Figure 3.3), the wire clamp solenoid opens
the wire clamps and the capillary pushes the ball down onto the first bond location (stage
14
B). At this stage, the ball is partially squashed on the substrate by means of controlled
heat, pressure vibration, and time. The pressure vibration is achieved by a bond force
applied on the ball together with the ultrasonic energy from the ultrasonic vibrator. The
magnitude of the bond force is dictated by the calibration of the bond head and the over-
travel of the tool lifter.
Figure 3.3: Bonding sequence.
In the next stage, the bond head retracts from the bond surface and the x-y table
moves the substrate in the reverse direction of the second bond location by an amount
preprogrammed by the operator for giving the wire some extra length (stage C and D).
This is necessary since the wire might fail in tension during the second bond process due
to its short length. The bond head continues to rise until it reaches the loop height, which
is again preprogrammed by the operator, while the x-y table positions the second bond
location directly under the bond head (stage E). Again the bond head descends with the
same speed and temperature. However, this time the bonding pressure and the bonding
time are increased (stage F). As the wire is bonded on the surface, the bond head raises.
As the bond head is rising, the clamp solenoid closes the clamps and the wire breaks at its
weakest point, at the end of the second bond location, finishing one bond cycle (stage G).
15
The EFO electrode is actuated again to form another ball on the wire tail and the cycle
continues (stage H).
3.2 Experimental Setup And Data Acquisition
The first step in data acquisition is to experimentally setup the wire bonder. In
order to generate frequency response data, the computer control to the amplifiers has to
be overridden because the wire bonder computer does not power the amplifiers when not
in use. By disconnecting this internal amplifier and using a spare amplifier, we can
manually input any desired signal from an external source and monitor the inputs and
outputs of the amplifier. These amplifiers are power amps that convert an input voltage
signal to a current output signal. For generating the frequency response, a voltage signal
from a function generator was sent to the amplifier.
An op-amp follower circuit was placed between the function generator and the
amplifier to buffer the input. Without the op-amp circuit, a large bias in input voltage
results due to insufficient buffering of the input signal to the input amplifier. An
interface cable was used in order to interface between the amplifier and function
generator. The interface cable had a 2x2 connector at one end to plug directly onto the
amplifier and loose wires at the other end can be used to connect to the external power
supply and function generator. The R-limit and L-limit sensors of the wire-bonding table
are powered by the 5V signal supplied by the 2 pins of the connector. These sensors
determine the extreme edges of the worktable so that work area remains within the
bounds of the bond head. In order to override the computer�s control of the amplifier,
another 15V signal is supplied from an external power supply to the amplifier through a
connector. The voltage signal from the function generator was sent to the op-amp circuit,
the output of which was sent to the amplifier through the fourth pin of the connector. In
order to prevent damage to the amplifiers, lower input voltages should be used and more
care should be taken to ensure good thermal contact between the amplifier and the heat
sink.
16
In order to give a sine wave of different frequencies, a WaveTek 2-MHz was used
as function generator. It had two frequency selectors. The first was a dial marked
between 0.002 and 2. The second was a five-position switch with stops of x1, x10, x100,
x1000, and x10000. Thus by combining the two selectors, any frequency between 0.002
Hz and 20,000 Hz was possible. The function generator had a VCG input to control the
output frequency from an external device. Frequency response analysis of the digital
bond head was measured by an accelerometer. The particular accelerometer used in this
analysis was a piezoelectric accelerometer by PCB PIEZOTRONICS model number
352c65. The accelerometer was mounted to a flat section on the tool lifter�s upper
surface to determine the acceleration of the capillary tip. The output of the accelerometer
was connected to a signal conditioner. The signal conditioner provides the additional
gain and filters out the noise. In addition, it provides a DC voltage for the built-in
accelerometer electronics that convert piezoelectric charge into a measurable voltage
signal.
In order to measure and record the data for a magnitude and phase plot, Labview
and National Instruments DAQ board AT-MIO-16D were used. In order to get the best
results from VI (Virtual Instrument) it was essential that proper settings be used. The
number of points to be generated by VI was set to 5000 points. By increasing the number
of points the accuracy of data collected increases but it also increases the duration for
which VI had to be run. Number of scans was kept at 10000. Care was taken to properly
set the time delay in the VI so that transient effects dissipate before the data was
recorded. The frequency response schematic is shown in Figure 3.4
Figure 3.4: Frequency response schematic.
17
The VI controlled the frequency of a sine wave sent out to the wire bonder by
sending a ramp output to the VCG of the function generator. The VI took two inputs: the
output of the function generator and the output from the part being tested, in this case the
accelerometer. By comparing the magnitude and phase of these signals, a frequency
response plot was generated and the data points stored to file.
18
4. SYSTEM MODELING
This chapter discusses how the z-axis motion of the wire bonder is
modeled. A nonlinear differential equation of motion was derived using Lagrange�s
equation. State equations were developed to represent the system in Simulink. The
behavior of the actual system was investigated in frequency-domain as well as in time-
domain. The model creates a basis for time-domain simulation, useful in predicting
residual vibration and also for generating frequency responses in order to compare the
actual system and the model. To validate the model, a comparison between input and
output profiles of the developed model and that of the actual system was also made.
4.1 Development of Linear Model
This section discusses previous research done to develop a linear model from the
input-output data collected from the actual system. The objective is to estimate system
parameters such as rigid body damping, inertia, and natural frequency from the frequency
response of the servo and the overall system before developing the nonlinear model.
Mynderse [17] had come up with a 20th order model of the system that is reasonable fit of
the input-output data in the specified frequency range of 150-1400 Hz. He used Matlab
toolbox FDIDENT [24] to approximate the input and output data. Since the system was
known to be stable by observation, the model order was reduced from 20th-order to 17th-
order because three poles lie in the right half s-plane. For our discussion we will call the
17th-order system the �Modified 20th-order model�, in order to keep the notion that it is
derived from the 20th-order model.
The objective is to further reduce the order of the system. A 4th -order model was
developed from the 20th-order model that quite accurately captures the system behavior in
19
the frequency range of interest, i.e., 10-700 Hz (natural frequency is around 660 Hz).
The gain of the 4th-order model was adjusted to match the magnitude plot of the modified
20th-order. The gains will later be readjusted to match the response of the actual system
with model, which will be developed later in the chapter. The main objective of this
exercise is to reduce the order of the system, yet fully capture the system behavior in
frequency and time domains. Figure 4.1 shows the time response comparison of the
modified 20th order model and the 4th-order model. The input given to the system is a 30
Hz, 3V peak-to-peak square wave voltage and the output is the output of the
accelerometer mounted on the z-axis cantilever. As observed from the figure, the time
scale is chosen from 0.9 sec to 1.0 sec to show the steady state behavior of the system.
Figure 4.1: Comparison of time responses of modified 20th-order model and
approximated 4th-order model.
The main drawback of the time domain analysis as opposed to frequency domain
analysis is that presence of disturbance in the data makes it difficult to decide upon the
correctness of the model. In frequency domain, locations of poles and zeros can be
located quite accurately and consequently the values of system parameters like masses,
spring constants and damping can easily be estimated. Even for the nonlinear system the
use of the frequency domain is quite common, by linearizing the system about an
operating point.
20
Figure 4.2: Frequency response comparison of the actual servo and simulated model of
the Z-servo.
Figure 4.3: Frequency response comparison of the modified 20th-order model and the
approximated 4th-order model.
21
Figure 4.2 shows the frequency response comparison of the actual servo and the
modeled servo. From the figure, the break frequency can be estimated to be around 45
rad/sec. From this we can estimate the viscous damping present in the motor if the value
of inertia is known. Figure 4.3 shows the frequency response of the modified 20th-order
model and the 4th-order model. To match the frequency responses better, a pole at 2200
rad/sec is included, although it is not motivated by any physical behavior of the system.
A gain factor of 2.5 is used to accurately match the bode response of the modified 20th-
order model. The linear transfer function between the input voltage and the output, linear
acceleration measured by the accelerometer, is given by equation (4.1). Table 4.1 shows
the values of various parameters used in the transfer function:
( )( )( )( )
2
2 2
2.51 2
t a k aK G K K sG sJs b s s s
ωτ ςω ω
=+ + + +
(4.1)
Table 4.1: Parameter values used in overall transfer function ( )G s .
Symbol Parameter Value
Kt Motor torque constant 0.0526 N m/amp
Ga Amplifier transconductance 1.86 amp/Volts
Kk Kinematics gain 0.00508 m/rad
Ka Accelerometer gain 0.112 Volts/m sec-2
ω Natural frequency 4158 rad/sec
J Motor moment of inertia 3.32x10-5 kg m2
b Viscous damping 1.494x10-3 N m sec/rad
τ Time constant 1/2200 sec
ς Damping ratio 0.032
The values of some parameters like motor moment of inertia J , torque constant
tK and accelerometer gain aK are given in the technical documents of the respective
hardware manual [25] and [26]. The values of parameters like natural frequency ω and
damping ratio ς are calculated from the frequency response of the modified 20th-order
22
transfer function. The value of viscous damping present in the motor rotor b is
calculated by multiplying the break frequency of the motor magnitude plot and the
moment of inertia of motor J .
In this thesis we neglect the electromagnetic and thermal behavior of the servo.
The time constants associated with the electromagnetic behavior are much smaller than
the time constants associated with the mechanical behavior, which in turn are much
smaller than the time constants associated with the thermal behavior. Although the
electromechanical behavior is much faster than the mechanical behavior, there might be
interaction between the electrical parts and the mechanical parts, which cannot be
neglected. In that case, it might well happen that disturbance in the electrical components
excite the dynamics of the mechanical components, so for those cases both the electrical
and the mechanical behavior should be considered in the system analysis. But in this
thesis for all practical purpose the electromagnetic dynamics are neglected since the time
constant associated with the electromagnetic dynamics is 0.0013 sec as compared to time
constant of mechanical dynamics, which is 0.022 sec [25].
4.2 Dynamic Analysis of the Z-Axis of the Wire Bonder
As discussed earlier, the bond head is driven by the cam, which is in turn driven
by the Z servo. The cam is attached to the bond head through a kinematic linkage. The
linkage mechanism shown in Figure 4.4 can be approximated by the vertical slider crank
mechanism that is also shown in Figure 4.4. In the following discussion, a slider crank
mechanism is considered that helps in carrying out the kinematic and dynamic analysis of
the motion of the z-axis of the system. The angle θ is positive if measured from the
vertical axis in the clockwise direction as shown in Figure 4.4.
23
Figure 4.4: Approximation of Z-axis with the vertical slider crank mechanism.
4.2.1 Rigid Body Dynamics
It is possible to characterize the dynamics of any rigid body by considering an
equivalent system of a finite number of particles. In particular, any link (see Figure 4.5)
can be approximated by a system of two particles. If the center of mass of the system is at
C, as shown in the figure, the equivalent system of two particles of mass Am and Bm is
given by:
Abm ml
=
Bam ml
= (4.2)
where m is the total mass of the original link.
24
Figure 4.5: Approximation of rigid link having center of mass at C with two point masses
at end.
Figure 4.4 represents the schematic of a slider crank mechanism. cM is the mass
of the crank, rM and pM are the masses of the connecting rod and the slider (piston),
respectively. O is the center of cam and also the pivot point of the crank. Q is the pivot
point of the crank and the connecting rod whereas P is the center of mass of the slider.
The crank and the slider are non-aligned by a horizontal offset distance l . The crank
angle rotation coordinate is θ , the connecting rod angle with respect to the vertical at that
instant is Φ and Px is the vertical distance of point P from O. As shown in Figure 4.4, 1r
and 2r are the lengths of the crank and the connecting rod, respectively. J is the mass
moment of inertia of the motor and cam combined together. Assuming that center of
mass is at center of crank and connecting rod, from the above rigid body dynamics we
can say that
12O cm M=
1 12 2Q c rm M M= +
12P p rm M M= + (4.3a)
If we assume that mass of connecting rod and crank ( cM and rM ) are negligible in
comparison to PM then
0O Qm m! !
P Pm M! (4.3b)
25
Figure 4.6: Geometry of linkages in the slider crank mechanism.
The relationship between θ and Φ and that between θ and Px can be derived by
considering the geometry of motion of the slider-crank mechanism as shown in Figure
4.6. These relationships are given below:
1 2sin sinr r lθ = Φ − (4.4)
1 2cos cosPx r rθ= + Φ (4.5)
Differentiating equations (4.4) and (4.5) yields
1
2
coscos
. .rr
θ θΦ =Φ
(4.6)
1 2sin sin. . .Px r rθ θ= − − ΦΦ (4.7)
Substituting equation (4.6) into (4.7) yields
1 1 1sin cos sin cos sin( )cos cos
.. ..p
r r rx θ θ θ θ θ θΦ + Φ Φ += − = −
Φ Φ (4.8)
The values of parameters 1r , 2r and l are given in Table 4.2.
26
Table 4.2: Parameters used in kinematic analysis.
Symbol Parameter Value
r1 Crank radius 0.00508 m
r2 Length of connecting rod 0.03772 m
l Offset distance 0.03175 m
4.3 Dynamic Modeling
The dynamic equations capturing the behavior of the motion of z-axis of the
system are developed using Lagrange�s equation. Lagrange equation for N degree of
freedom system is given by:
ii i i i
d T T U R Qdt q q q q ∂ ∂ ∂ ∂
− + + = ∂ ∂ ∂ ∂ " " 1,2,...,i N= (4.9)
where iq are the generalized coordinates, in our case θ ,
N is the number of degrees of freedom of the system.(1 in this case),
iQ are the generalized non-conservative forces acting on the system,
T is the total kinetic energy of the point masses,
U is the total potential energy of the point masses,
R is the damping power of the system.
The total kinetic energy of the system is given by:
2 21 12 2
. .P PT m x J θ= + (4.10)
We assume that cM and rM are negligible as compared to pM . So by using equation
(4.8) in (4.10) the expression for T becomes: 2
2 21 2
1 sin ( ) 1( )2 cos 2
..pT m r Jθθ θ+Φ
= +Φ
(4.11)
The total potential energy of the system is given by:
0 P PU U m gx= − (4.12)
where 0U is potential energy at point O.
27
Substituting the value of Px from equation (4.5) into (4.12) and putting
2cos 1 sinΦ = − Φ and substituting the value of sinΦ from equation (4.4) yields
2
10 1 2
2
sincos 1pl rU U m g r r
rθθ
+ = − + −
(4.13)
Once we get the expression for kinetic and potential energy, we can determine the
equation of motion by first computing the derivatives d Tdt θ
∂ ∂ "
, Tθ∂∂
and Uθ
∂∂
and then
plugging these derivatives back into equation (4.9).
Kinetic energy term:
( )22
1 2
sincos
. .P
d T d m r Jdt dt
θθ θ
θ Φ +∂ = + ∂ Φ
" (4.14)
To make it simple, let�s make the following substitution:
( ) ( )22
1 1 2
sincosPJ m r J
θθ
Φ += +
Φ (4.15)
Substituting equation (4.15) into (4.14) we get:
( )1
.d T d Jdt dt
θ θθ∂ = ∂ "
( ) ( )1 1
.. . .d T J Jdt
θ θ θ θθ∂ = + ∂ "
(4.16)
( ) ( )2 2
1 2 3
sin 2 2sin sin1 12 cos cos
.P
T m rθ θ
θθ θ θ
+Φ +Φ Φ∂ ∂Φ ∂Φ = + + ∂ Φ ∂ Φ ∂ (4.17)
From equation (4.4) we get:
1
2
coscos
rr
θθ∂Φ
=∂ Φ
(4.18)
To simplify this, let�s make the following substitution:
( ) ( ) ( )21 1
2 42 2
sin 2 2sin sin coscos 1cos cos cos
r rcr r
θ θ θθθ +Φ +Φ Φ
= + + Φ Φ Φ (4.19)
then
28
( )2
112
.P
T m r cθ θθ∂ = ∂
1 ,.
L θ θ =
(4.20)
Potential energy due to gravity forces is given by:
( ) ( )( )
1 11 1 22
2 1
cos sinsin
sinp
r l rUT m g rr l r
θ θθ θ
θ θ
+∂ = = + ∂ − +
(4.21)
Energy dissipated due to viscous damping present in the servo is given by: 21
2
.R bθ= (4.22)
..R bθθ
∂=
∂ (4.23)
The non-conservative force acting on the system is the input torque, which is driving the
system:
T AQ K G V= (4.24)
where TK is the motor torque constant (Nm/amp),
AG is the amplifier transconductance (amp/volts),
V is the input voltage.
Combining all the terms in Lagrange�s equation (4.16, 4.20, 4.21, 4.23, and 4.24) we get
( ) ( ) ( )1 1 1 1( ) ,.
T AJ J b T L K G Vθ θ θ θ θ θ θ + + + − =
"" "" (4.25)
29
4.3.1 Linearizing Motor Inertia and Damping
Figure 4.7: Variation of motor inertia with crank angle. Dark curve shows the variation in
motor inertia within the operating range of crank.
Figure 4.7 shows the variation of nonlinear inertia ( )1J θ given in equation (4.15)
with the crank angle. Dark curve shows the variation of motor inertia within the
operating range of crank rotation. As shown in the figure, the crank can be moved to �
30o on the negative side and 120o on the positive side before it is sensed by the Z limit
sensor. The straight line shows the motor inertia when the nonlinear effects are ignored.
30
Figure 4.8: Variation of motor damping with crank angle. Dark curve shows the variation
in motor damping within the operating range of crank.
Figure 4.8 shows the variation of nonlinear damping ( )1( )J bθ +" given in equation
(4.26). Dark curve shows the variation of motor damping within the operating range of
the crank rotation. The straight line shows the motor damping when the nonlinear effects
are ignored. The linearized value of motor inertia and damping can be estimated from the
two plots shown above.
4.4 Kinematics Modeling
The rotation of the crank is converted into translation of the piston in the vertical
slider crank mechanism. In this section we carry out the kinematic analysis of this four-
bar linkage mechanism. If we look at kinematic linkages in the actual system, we will
notice that the bond head of the wire bonder is not undergoing a pure translation motion.
31
The bond head is attached to the tool lifter. The tool lifter is hinged from the main body
of the bonder. But the rotation of the tool lifter about the hinge is small enough to justify
the claim that the bond head is undergoing a pure translation motion. This assumption
further justifies that we can safely approximate the bond head in the wire bonder by the
piston in our slider crank mechanism.
From equation (4.5)
1 2cos cosPx r rθ= + Φ
Differentiating the above equation to get the linear velocity, we get equation (4.7)
1 2sin sin. . .Px r rθ θ= − − ΦΦ
Substituting equation (4.6) into the above equation and simplifying:
1 1sin tan cos. . .Px r rθ θ θ θ= − − Φ (4.26)
Differentiating the above equation to get the linear acceleration: 2 2
21 1 1 1 1sin cos cos tan sin tan sec cos
.. .. . .. . . .Px r r r r rθ θ θ θ θ θ θ θ θ θ= − − − Φ + Φ − Φ Φ (4.27)
Substituting equation (4.6) into the above equation and simplifying:
( )2 2
3 211 1 1 1
2
cos sin tan sec cos sin cos tan.. . ..
Prx r r r rr
θ θ θ θ θ θ θ
= − − Φ + Φ − + Φ
(4.28)
The above equation is used to transform the rotation of the Z-servo into linear motion of the bond head.
4.5 State Equations and Model Representation
The final equation of motion (4.25) is represented in state space. Choosing the
angular displacement as the first state and angular velocity to be the second state, the
state space representation of the system is as follows:
1x θ=
2
.x θ=
32
1 2
.x x= (4.29)
( )( )
( )( ) ( )
( )( )
1 1 1 1 1 1 22 2
1 1 1 1 1 1 1 1
( ) ,..
T AJ x b T x L x xK G Vx xJ x J x J x J x
+= − − + + (4. 30)
Figure 4.9 shows the Simulink motor block. As shown in the figure, it consists of
two blocks: an inertia block, which calculates the contribution due to inertia and coriolis
forces given by the first and fourth terms in equation (4.25), and the load torque block,
which calculates the contribution due to gravity forces given by the third term. The input
voltage is multiplied by the T AK G gain to get the input torque. The summation block
adds all the terms in the equation with their respective signs to get the acceleration, which
is then integrated twice to get angular displacement.
Figure 4.9: Simulink motor block.
33
4.6 Model Validation: Input Output Comparison
As a consequence of a number of simplifying assumptions, models of the physical
plant and disturbance are in general only approximations of the real plant. This implies
that some of the dynamic behavior remains uncertain after modeling. In order to quantify
the model uncertainty, model validation is necessary.
The actual output of the system is compared with the output of the model to check
whether the modeled system truly captures the behavior of the actual system. Clearly,
this can only be verified from experimental data. The approach is to compare measured
output data with simulated output data, when using the measured input data for the
simulation. The system is run and the accelerometer output and its corresponding input
are recorded with the help of Labview data acquisition system. The open loop system
consists of the motor block only. The actual motor input is given to the model and the
simulated output is compared with the actual output of the system. In closed loop the
motor acceleration (doubly integrated) serves as the reference to generate the input that
will drive the system. The actual input is given to the Simulink model as shown in Figure
4.10 and the model output is compared with the actual output. The difficulty with this
approach is the presence of disturbances like frictional torque acting on the actual system
that makes it difficult to decide upon the correctness of the model. The following
subsections compare the input and output of the open and closed loop systems. The
system parameters used in Figure 4.10 are given in Table 4.3. The other values are the
same as given in Table 4.1 and Table 4.2.
Table 4.3: Controller gains used in closed loop servo model.
Symbol Parameter Value
KP Proportional gain 36
KD Derivative gain 59.5
KI Integral gain 0
B Input bias Depends on the data set used
34
Figu
re 4
.10:
Com
paris
on o
f clo
sed
loop
and
ope
n lo
op m
otor
mod
el.
35
4.6.1 Open Loop Model Representation of Motor Model
The open loop system consists of the motor block only. The actual motor input is
given to the model and the simulated output is compared with the actual output of the
system. The input to the motor is biased depending on the initial crank angle. This bias
is necessary to maintain the crank at a particular initial angle against the weight of the
bond head.
4.6.2 Open Loop Input Output Comparison of Motor Model
Figure 4.11: Input output comparison of open loop model.
Figure 4.11 shows the comparison of input and output of the open loop system.
As shown in the figure there is some mismatch between the actual and the simulated
responses of the system. The above mismatch can be attributed to plant uncertainties and
nonlinearities, which are not captured in the model. These plant uncertainties can be
taken care of in the design of the control strategy.
36
4.6.3 Closed Loop Model Representation of Motor Model
Figure 4.10 shows the Simulink representation of the model. The closed loop
model consists of three important blocks, motor block, which has already been discussed
in section 4.5, controller block, and the inverted plant block. The closed loop system is
driven by the acceleration of the actual system. The reference position profile is
generated by doubly integrating this acceleration profile. The measured position is
subtracted from the reference position to get the position error. The position error is used
as an input to the feedback controller. In addition, the input acceleration is used to
generate a feedforward signal that combines with the feedback control signal.
The feedback controller is a PD controller (Proportional Derivative), which
ensures that the system follows the reference trajectory. The PD gains used for the
feedback controller are same as given in Table 4.3. The feedback controller is designed
using trial and error. Since the input to the actual system is current from the amplifier, an
obvious choice of feedforward controller is the inverted linear model of the motor. The
actual values used in the inverted plant for inertia and damping are obtained by
multiplying the motor inertia and damping by some constant factor (Table 4.4). This is
due to the fact that load torque in the nonlinear model is a function of crank angle. The
linear model accounts for the above nonlinear behavior of the load torque by simply
multiplying the motor inertia and viscous damping by some constant factor (Table 4.4).
The input to the motor is biased depending on the initial crank angle.
Table 4.4: Linearized values of motor inertia and damping.
Symbol Parameter Value
LJ Inertia 1.6J
Lb Damping b
4.6.4 Closed Loop Input Output Comparison of Motor Model
Figure 4.12 shows a comparison of inputs and outputs of the closed loop system.
As shown in the figure, the position profile of the simulated system quite closely follows
37
the position of the actual system. This is due to the feedback controller, which is trying
to keep the steady state error to zero. There is some mismatch between the input of the
simulated system and the actual system. After careful inspection of the plot, we can find
that spikes in the input fall in the region where change in displacement is small. This can
be explained by the presence of stiction at low velocities. High stiction at low velocities
causes the feedback controller in the actual system to send some extra control input, to
drive the system out of stiction. This nonlinear behavior is not captured in our model.
Figure 4.12: Input output comparison of closed loop model.
4.7 Time Domain Analysis
Figure 4.13 shows a comparison of the time responses of the actual and simulated
systems for different initial offset angles. A square wave of 30 Hz with input amplitude
of 3 volts (peak to peak) has been used for collecting the data. As shown in the figure,
the time response of the system is greatly influenced by the initial offset angle. This is
38
due to the fact that system parameters like damping and inertia are all nonlinear functions
of the crank angle. Certain initial voltage bias is required to maintain the crank at a
particular angle against the weight of the piston. This fact is also corroborated by the
actual system, where some bias is necessary for the crank to rotate about some mean
position. It has been observed on the actual system that it is quite sensitive to the input
bias at some angles, the reason still being explored.
Figure 4.13: Actual and simulated time responses of wire bonder Z-axis for different
initial offset angles with 3 Volts peak to peak square wave of 30 Hz.
During simulations, care should be taken that the actual travel of the crank does
not sway too much from its mean position during the transient phase. This is due to the
fact that large oscillations during the transient phase may change the mean position about
which the crank oscillates. As seen from the above plots, there is good correspondence
between the actual and the simulated results for some angles. This is due to fact that,
natural frequency is not constant during the crank motion. It is affected by the kinematics
39
nonlinearities. As observed from the figure, the time scale is chosen from 0.88 sec to 1.0
sec to show the steady state behavior of the system.
4.8 Frequency Domain Analysis
In order to predict the frequency response, the crank is set to operate at a fixed
angle, so that the bonding head behaves like a linear system. The input amplitude of the
sinusoidal wave used is around one volt. The amplitude of the oscillation about different
operating points is kept small to reduce the effects of nonlinearities.
Figure 4.14: Frequency Response of the actual system at different crank angles.
40
A number of responses are generated for different operating conditions of the
crank. The frequency response data before 10 Hz is not reliable due to the large effect of
friction at low frequency.
Figure 4.14 shows the frequency responses of the actual system at different initial
crank angles. As observed from the figure, the first peak of the system is hovering in the
range 600-700 Hz. As observed from the figure the gain at different angles varies from 5-
15 dB. The gain at different angles is different because of the kinematic nonlinearity.
In the 4th-order model (Figure 4.3), a natural frequency of around 660 Hz was
used. As shown in Figures 4.3, the gain of the 4th-order system is around 7 dB. The 4th-
order model captures the fundamental mode and ignores all other higher modes.
4.9 Comparison of Open Loop Linear and Nonlinear Plant Models
Figure 4.15 shows a comparison of the linear and nonlinear models. In the linear
model, the kinematics block is replaced by a kinematics gain. This gain simply converts
the angular acceleration to linear acceleration. Input bias B in the nonlinear model is
necessary to move the crank to some particular initial angle. The values of inertia and
damping used in the linear model are the linearized values of inertia and damping given
in Table 4.4. As shown in Figure 4.7 the linearized value of motor inertia ( )1J θ is taken
to be 1.6 J , which is the peak value when the crank is at 50o. As shown in Figure 4.8,
the value of nonlinear damping ( )1( )J bθ +" varies from 1.0124b to 0.9752b , which is
not that significant, hence the value of linearized value of damping is taken to be the
same as the estimated value.
41
Figu
re 4
.15:
Com
paris
on o
f lin
ear a
nd n
onlin
ear m
odel
s.
42
Figure 4.16: Comparison of outputs from open loop linear and nonlinear models.
Figure 4.16 shows a comparison of outputs of linear and nonlinear plant models
for two different sets of inputs collected by running the actual setup. There is some
mismatch between the linear and nonlinear models. This is due to the fact that load
torque in the nonlinear model is a function of crank angle. The linear model accounts for
nonlinear behavior of the load torque by simply multiplying the inertia and viscous
damping by a constant factor. Although there is some difference between the outputs of
the linear model and the nonlinear model, the linear model is used to design the input
trajectory.
43
5. WIRE BONDER Z-PROFILES
Chapter 5 discusses the profile characteristic of a typical trajectory followed by
the capillary. This chapter further illustrates the methods used to approximate the
trajectory and how those profiles are used to generate the torque optimized profile. In the
end the results generated by applying the torque-optimized input to the wire bonder
model are presented.
5.1 Velocity Profile Characteristic
The bond head must follow a certain trajectory to overcome the step heights
within a product. This requires special capability for forming the shape of the wire
interconnecting the first and second bond and programming force, time, and ultrasonic
parameters for each bond. Besides that, the bond head also must follow a trajectory that
can provide strain relief to the gold wire.
At the start of the bond cycle, the tool drives down toward the first bond at high
acceleration [25]. The high acceleration motion stops a few mils above the first bond,
which can be preselected from the machine program. At this point, called the inflection
point, the motion changes from controlled high acceleration to constant velocity. The
tool continues to be driven down at constant low velocity until it hits the first bond
surface. At the end of the first bond time, the Z motor reverses and pulls the tool lifter
up. The lifter contacts the tool holder and pulls the tool holder up at high acceleration
toward loop height, which is the maximum height above the 1st bond. After this motion
of the bond head the X-Y table moves toward the second bond position as shown in
Figure 5.1.
44
Figure 5.1: Ideal bond head velocity profile with no reverse motion.
After reaching the loop height the tool is again driven down at high acceleration
for the second bond. And again a few mils above the second bond, the motion changes to
a constant velocity. The tool continues to be driven down with a constant velocity until it
hits the second surface. The tool lifter continues to be driven down to a predetermined
over-travel thus deflecting the leaf spring mounted on the tool lifter and exerting the
second bond force.
After the second bond time, the motor drives the tool lifter upward, pulling the
tool away from the second bond surface. The tool lifter moves to a preprogrammed
height where the wire clamp is closed by the solenoid, tearing the wire close to the
surface of the second bond. The bond head rises to a predetermined height where the
EFO solenoid causes the EFO electrode to discharge high voltage, thus forming a ball at
the end of the wire tail. The X-Y table moves to its next first bond location before the
start of the next bond cycle.
45
5.2 Profile Approximation
An approximate profile is developed from the ideal velocity profile data, which is
obtained by running the actual setup. The approximate profile is a least square fit of the
ideal profile. The method of least squares assumes that the best-fit curve of a given type
is the curve that has the minimal sum of the deviations squared, i.e., least square error
from a given set of data. The whole profile is divided into five sections, each
corresponding to a different hump in the velocity profile.
The idea of least square curve fitting can be summarized as follows: Suppose
there are data points 1 1( , )x y , 2 2( , )x y ... ( , )n nx y . The fitting curve ( )f x has the deviation
(error) d from each data point, i.e., 1 1 1( )d y f x= − , 2 2 2( )d y f x= − ,... ( )n n nd y f x= − .
According to the method of least squares, the best fitting curve has the property that:
2 2 2 2 21 2
1 1... [ ( )] min
n n
n i i ii i
d d d d y f x= =
∏ = + + + = = − =∑ ∑ (5.1)
where
iy is the ith data point of the profile to be approximated,
2 100 1 2 10( ) ....f x a a x a x a x= + + + + (5.2)
( )f x is the velocity profile that approximates the ideal velocity profile.
The velocity and acceleration are constrained to be zero at the start and end points
of each section so as to avoid residual ripples in the velocity and acceleration profiles.
The constraint implies that the value of function ( )f x and its first derivative '( )f x is
zero at the start and end points, i.e. 2 10
0 1 2 10( ) ....s s s sf x a a x a x a x= + + + + = 0 (5.3)
2 100 1 2 10( ) ....e e e ef x a a x a x a x= + + + + = 0 (5.4)
91 2 10
( ) [ 2 .... 10 ]sx x
df x a a x a xdx == + + + = 0 (5.5)
91 2 10
( ) [ 2 .... 10 ]ex x
df x a a x a xdx == + + + = 0 (5.6)
where sx and ex are the start and the end points of the section, respectively.
46
Figure 5.2: Constrained least square curve fit of velocity profile with least square error=1.0294.
This problem fits well into most of the least square programming packages. To
solve this problem, Matlab optimization command lsqlin was used. Figure 5.2 shows the
constrained least square fit of the ideal velocity profile with least square error of 1.0294.
Velocity is numerically differentiated and integrated to get the acceleration and
displacement, respectively. Figure 5.3 shows the comparison plots of displacement,
velocity and acceleration of ideal profile and approximate profile.
47
Figure 5.3: Comparison of ideal and approximate Z-axis profiles.
5.3 Development of Torque Optimized Profiles
Many high performance applications like wire-bonding demand that machines
execute rapid and precise point-to-point motion. In order to achieve these motions, time-
optimal command profiles can be employed. The idea for developing optimal profiles is
to improve the cycle time of the wire bonding. Thus operating the actuator near its peak
limits, the final move time can be reduced.
Initially the non-optimal values for velocity and displacement are calculated by
numerically integrating the acceleration profile. The actual acceleration is then scaled by
a factor to get the optimal acceleration. The scale factor is calculated by dividing the
48
peak acceleration, which is limited by the actuator saturation limit, by the maximum
actual acceleration of the current waveform. The acceleration values so obtained are not
optimal with respect to time. The purpose of the algorithm is then to calculate optimal
time given the optimal value of acceleration and non-optimal value of displacement. The
whole acceleration profile is divided into five different sections, each corresponding to a
different hump in the velocity profile. The optimal acceleration, velocity and
displacement are calculated using numerical integration. The default time step (0.0001
sec), which is the step size of the actual data is reduced recursively, until the area under
the velocity curve of the optimal velocity becomes equal to the area under the velocity
curve of the actual velocity (see Figure 5.4).
Figure 5.4: Figure showing how the step size of the actual data is reduced recursively, until the area under the velocity curve of the optimal velocity (dashed line) becomes
equal to the area under the velocity curve of the actual velocity (solid line).
As shown in Figure 5.5, the area under the optimal acceleration curve is
calculated by applying the trapezoidal rule at each time step to get the optimal velocity.
Velocity profile is approximated by small trapezoids as shown in the figure. The area
under each trapezoid gives the change in displacement ( CalS# ). After each iteration, the
time step (h) is reduced by half, as shown by the dashed line in the figure, and the areas
under acceleration and velocity curves are recomputed. After each iteration, the
Optimal Velocity
Actual Velocity
49
calculated change in displacement ( CalS# ) is compared with the actual change in
displacement ( ActS# ) to check whether it is less than or greater than ( ActS# ).
Figure 5.5: Trapezoidal approximation of acceleration and velocity profile.
If suppose Cal ActS S># # at t+h/2 then it implies that calculated area under
velocity curve is more than the actual area and so the first half is taken for next iteration.
For the next iteration the optimal velocity and the displacement are numerically
computed for time interval (t, t+h/4) and again check is made to see if the calculated area
is greater than or less than the actual area. In case Cal ActS S<# # at t+h/2 then the
second half is taken for the next iteration and velocity and displacement are computed for
the time interval (t, t+3h/4). Thus after each iteration the calculated change in
displacement CalS# is compared with the actual change in displacement ActS# and if the
difference between CalS# and ActS# is less than 1x10-7 it comes out of recursion loop.
Otherwise it will continue to recursively iterate until the above condition is satisfied or
the difference between the previously calculated change in displacement Pr evCalS# and
CalS# is less than 1x10-9. The second condition is due to the fact that, for some values of
acceleration and/or velocity the consecutive iteration does not converge fast enough.
Thus it would take a long time to reach within the convergence tolerance of 1x10-7.
50
Optimal time in case when calculated change in displacement CalS# is within the
tolerance of 1x10-7 of the actual change in displacement ActS# is simply a fraction of the
time step (h) where it has reached the above tolerance added to the previous value of
optimal time. If the recursion loop breaks prematurely, a default time step of 0.0001 is
added to the previous value of optimal time. The whole algorithm for calculating the
optimal profile is summarized by the flowchart shown in Figure 5.6.
51
Figure 5.6: Flowchart for calculating the torque optimized profile.
52
5.3.1 Effect of Torque Optimized Profile on Residual Vibration
The idea of using the torque optimized profile is to improve the cycle time for
maximum productivity. As one can expect without input shaping there is significant
residual vibration in the motion of the bond head. Figure 5.7 shows the comparison of
the accelerometer output when non-optimal profile is given and when torque optimized
input profile with different peak acceleration limit is given as input to the model.
Figure 5.7: Accelerometer output showing residual vibrations when peak acceleration is increased. (a) shows the actual accelerometer output of the system, (b), (c), and (d) show the accelerometer output of the torque-optimized profile with different peak acceleration
limits.
As shown in the figure, plot (a) shows the actual accelerometer output of the
current waveform. Plots (b), (c), and (d) show the simulated accelerometer outputs when
the torque optimal profile is generated with different peak acceleration limits. Maximum
53
acceleration that can be achieved by the Z-servo under given torque constraint is 50,000
rad/sec2. As observed from the figure, the magnitude of residual vibration increases
when the peak acceleration limit is increased, and the time to complete a full bonding
cycle is reduced. Thus there is a trade off between the cycle time and the motion without
residual vibrations.
54
6. COMMAND SHAPING AND CONTROL STRATEGY
This chapter discusses the design of a time-optimal open-loop force command
that accounts for the modeled dynamical effects of the system. This is followed by an
overview of the problem at hand. A closed form analytical expression is developed for
finding the move time of the rigid body. This chapter also discusses the controller design
framework, which integrates open loop force command, feedback controller, and
feedforward controller in a two degree-of-freedom controller structure.
6.1 Development of Time-Optimal Point-to-Point Control Problem
An important part of this research is an investigation into those properties of the
given physical system that poses limitations on the achievable performance. There are
two ways to accomplish increased performance. First by changing the mechanical
construction of the physical system, which is often very costly, second by improving the
servo behavior by using some control technique. Designing and implementing a
controller is generally much cheaper than changing the system�s physical structure as in
most cases the former is only a matter of software.
The objective of this research is to find the time-optimal input such that the
bonding cycling can be completed in minimum time without affecting the quality of
bond, which is greatly affected by the residual vibrations. The current focus is to use an
acceleration bound as a measure of residual vibration amplitude. The motivation for this
is that, acceleration is easy to measure and serves as a good metric for performance
comparison of vibration levels. Also one of the motivations of this research, is to
determine whether any time improvement can be achieved using the shaped commands.
55
The time-optimal problem can be formulated as follows: given the linear system,
find the input command that will move the system from one rest point to another in the
shortest possible time subject to actuator constraints. Singh et al. [9] have shown that the
time-optimal input profile is a bang-bang signal that switches between maximum positive
and maximum negative force. With this assertion, the time-optimal command must
always saturate the actuators and the given actuator limits solely determine its magnitude.
The only unknown feature of the optimal profile then, is the values of the times that the
command will transition between upper and lower actuator limits. This observation
simplifies the problem by reducing the number of solutions, to simply the set of possible
switch times.
For this type of control problem, only the initial and final states are prescribed and
the intermediate response is generally free. Consequently the control input u is free, i.e.,
there is no unique time evolution of u that solves the point-to-point control problem. This
freedom in u gives the possibility to choose the best of different inputs, e.g., the input that
requires least time, or has the smallest residual amplitude on the pre-specified finite time
interval. Such two inputs are generated from two different techniques in the next chapter,
first using least square optimization and the second from using ramped sinusoids.
6.2 Time-Optimal Command
The above time-optimal control problem require finding the time necessary to
move the body from one point to another. The actual time is always greater than this
time. This is due to the fact that to suppress residual vibration arising due to flexibilities
inherent in the body, the move time has to be increased.
Figure 6.1: Bang-bang input profile.
56
Figure 6.1 shows the bang-bang profile with the final move time being ft and the
switch time being some fraction of ft , i.e., fxt .
6.2.1 Analytic Solution to Time-Optimal Command Problem with no Flexible Mode
(Method 1)
The response of the motor to the optimal profile shown in Figure 6.1 can be represented
in time as:
( ).. .
mJ b T u tθ θ+ = for ft xt< (6.1a)
( ).. .
m fJ b T u t xtθ θ+ = − − for ft xt> (6.1b)
where J is the motor inertia,
b is the motor damping.
Using a change of time coordinates in equation (6.1b) ft xtτ = −
( ).. .
mJ b T uθ θ τ+ = − 0 0_( ), ( ).
θ τ θ τ (6.2)
The initial conditions for equations (6.1a) and (6.2) are, respectively, given by:
0( ) 0tθ = 0( ) 0.
tθ =
0( ) ( )fxtθ τ θ= 0( ) ( ). .
fxtθ τ θ=
Taking the Laplace transform of equation (6.2), we get:
( ) ( ) ( ) ( )20 0 0( ) ( )
.mTJ s s s b s ss
θ θ τ θ τ θ θ τ − − + − = −
(6.3)
Simplification of the above equation yields:
( ) ( )20 0 0
2
( )( )
( )
.mJ s J b s T
ss Js b
θ τ θ τ θ τθ
+ + − =
+ (6.4)
( ) ( )0 0 02
( )( ) ( )
.mJ J b T
Js b s Js b s Js bθ τ θ τ θ τ+
= + −+ + +
(6.5)
Taking the inverse Laplace transform, we get:
57
( ) ( )( )
( )0 0
0
( )1
.b J b J b Jm
J bT J Je e e
b b b bτ τ τ
θ τ θ τθ τ θ τ τ− − −
+ = + − − − + +
(6.6)
Substituting ft xtτ = − and putting the initial conditions in above equation we get:
( ) ( ) ( )( )
( )( ) ( )( )
1
.f f f
f fb t xt J b t xt J b t xt Jm
f f
J xt b xtT J Jt xt e e t xt e
b b b b
θ θθ θ − − − − − −
+ = + − − − + − +
(6.7)
We are interested in finding out the move time of the body so evaluating equation (6.7) at
ft t= we get:
( ) ( ) ( )( )
( )( ) ( )1 1 1( )
1 (1 )
.f f f
f fbt x J bt x J bt x Jm
f f f
J xt b xtT J Jt xt e e t x e
b b b b
θ θθ θ − − − − − −
+ = + − − − + − +
(6.8)
Also we can find the displacement ( )fxtθ and the velocity ( ).
fxtθ at ft xt= by solving
equation (6.1a) with zero initial conditions and then calculating the displacement and the
velocity at ft xt= is given by:
( ) fbxt Jmf f
T J Jxt xt eb b b
θ − = − + +
(6.9)
( ) ( )1.
fbxt Jmf
Txt eb
θ −= − (6.10)
Substituting equations (6.9) and (6.10) into (6.8) and simplifying, we get:
( ) ( ) ( )( )122 1 1 2f fbt J b x t Jm f m
f
T t T Jt x e eb b
θ − − −= − + + − (6.11)
Differentiating equation (6.7) to get velocity, we get:
( ) ( ) ( )( )
( ) ( )( )( )
1
..
f f ff f
b t xt J b t xt J b t xt Jmf
J xt b xtTbt xt e e e
J J b
θ θθ θ − − − − − −
+ = − + − − (6.12a)
velocity at ft t= is given by:
58
( ) ( )( )
( ) ( )( )1 1 1( )
1 0
.f f f
f fbt x J bt x J bt x Jm
f
J xt b xtTbxt e e e
J J b
θ θθ − − − − − −
+ − + − − = (6.12b)
Substituting the expressions for ( )fxtθ and ( ).
fxtθ from equations (6.9) and (6.10),
respectively, and simplifying equation (6.12b), we get: ( )11 2 0f fbt J b x t Je e− − −+ − = (6.13)
Substituting equation (6.13) into (6.11) we get:
( ) (2 1)m ff
T tt x
bθ = − (6.14)
Solving equations (6.13) and (6.14) by substituting in the values of peak torque
limit mT , damping constant b and final angular displacement ( )ftθ , we can get the final
rigid body move time and the corresponding switch time. These equations represent the
minimum set of equations required to find a time-optimal command profile. Numerical
optimization packages such as Matlab optimization toolbox can be used to solve for the
switch time that satisfies these constraints. Since the rigid body mode has damping to
ground, the optimal torque profile is not symmetric. Due to the need to overcome
damping, more energy is put into the system than taken out from the system by the input.
6.2.2 Analytic Solution to Time-Optimal Command Problem with no Flexible Mode
(Method 2)
Tuttle and Seering [12] had presented an alternate approach to come up with
equations (6.13) and (6.14). He showed that dynamics cancellation principle could be
applied to the system with oscillatory modes as well as to real and rigid body modes. His
idea was, in order to move a system from one point and bring it to rest at another, the
input command must have zeros at the system poles. This assertion can be used to derive
a set of constraint equations governing the optimal command solution. The bang-bang
principle dictates that the time-optimal command will be a pulse train when sequences of
impulses are convolved with a step command. Figure 6.2 shows the convolution of step
command and impulse sequences.
59
Figure 6.2: Convolution of step command with a sequence of impulses to get optimal
pulse train.
The first step in finding out the analytical expression for finding the time-optimal
command problem is to cancel the dynamics of the rigid body. The dynamics
cancellation requirement is enforced by ensuring that the impulse sequence
corresponding to the optimal shaped command has exactly one zero at each system pole.
The constraint equations for this condition can be derived by taking the Laplace
transform of the impulse sequence and setting it to zero at the locations of system poles.
The transfer function of the rigid body for the case we are considering is given by
1( )( )
G ss Js b
=+
(6.15)
Figure 6.3: Rigid body with two poles, its pole-zero plot and its time-optimal command
profile.
Figure 6.3 represents the system with the above transfer function. This figure also
shows the pole locations in s-plane and the optimal command profile. The impulse
sequence and the Laplace transform for the optimal command profile can be written as:
( ) ( ) 2 ( ) ( )m m f m fd t T t T t xt T t tδ δ δ= − − + − (6.16)
( ) 2 f fsxt stm m mD s T T e T e− −= − + (6.17)
60
where ( )tδ is the Dirac Delta function.
The system poles are located at s=0 and s=-b/J. D(s) must be zero at these pole
locations, so the final expression becomes:
( )0
2 0m m msD s T T T
== − + = (6.18)
( ) 2 0f fbxt bt
J Jb m m msJ
D s T T e T e=−
= − + =
1 2 0f fbxt bt
J Je e− + = (6.19)
Dividing the above equation by fbt
Je and rearranging, we get the same equation as (6.13) ( )11 2 0f fbt J b x t Je e− − −+ − =
The second step in this method is to formulate the boundary conditions. The
boundary conditions ensure that the system output changes by the desired amount. The
final value theorem can be used to arrive at the general expression for the boundary
conditions, which is given by:
( )( )1
0
( ) ( )lim
rb rb
rb
m md
m
s
y u t dt d t dts G s
+
−>
= =∫ ∫ (6.20)
where dy is the desired final angular displacement,
( )G s is the rigid body transfer function,
rbm is the number of rigid body modes,
( )u t is the optimal command,
( )d t is impulse sequence corresponding to optimal command.
The optimal command ( )u t is integrated from the initial switch time to the final
switch time once for every rigid body mode in the system; this is equivalent to integrating
the impulse sequence ( )d t as many times as there are rigid body modes plus one.
Applying the boundary condition as shown in equation (6.20), we get:
61
( )
( )0
0lim
f f
f
xt tf
m mxt
s
tT dt T dt
ss Js b
θ
−>
= + − +
∫ ∫ (6.21)
Simplifying the above equation, we get:
( ) ( ) (2 1)f m f m f f m fb t T xt T t xt T t xθ = − − = −
( ) (2 1)m ff
T tt x
bθ = −
This is the same equation as (6.14).
6.3 Setting up Time-Optimal Command Problem
Least square optimization approach is used to solve the time-optimal command
problem for the case when flexible modes are also present along with the rigid body case.
The system matrix of the model is ill-conditioned for the least square optimization
routine. So the transfer function of the model is non-dimensionalized to make the system
well conditioned for the optimization routine. The non-dimensional form of the transfer
function is given by:
( ) ( ) ( )*
2 * 2
4 1( )2 1n r
G ss s s sT τ ςω
=+ + +
(6.22)
where nω is the natural frequency of the system in rad/sec,
rT is rigid body move time,
*τ is non-dimensional rigid body time constant,
ς is the damping ratio of the flexible mode.
The dimensionless parameters used in above transfer function and their
corresponding expressions are given in Table 6.1.
62
Table 6.1: Dimensionless parameters used in transfer function * ( )G s and their corresponding expressions.
Dimensionless Parameters
Time *nt Tω=
Angular acceleration * 2.. ..
n fθ θ ω θ=
Angular velocity *. .
n fθ θ ω θ=
Angular displacement *fθ θ θ=
Linear acceleration * 2.. ..
n fx x xω=
Linear velocity *. .
n fx x xω=
Linear displacement *fx x x=
Time constant *nb Jτ ω=
6.3 1 Solution to Time-Optimal Command Problem Using Least Square Optimization
The above time-optimal command problem can be solved using least square
optimization approach. The main drawback with analytic equations derived in section
6.2 is that, as the order of the system increases, the equations become more and more
complex. While these equations are developed based on the simple rigid body case, the
problem gets more complicated once the flexible mode is also included in the model.
Least square optimization method is a good approach to circumvent all these problems.
An alternative formulation can be developed that uses constrained least square
optimization. Pao [11] had come up with this alternative formulation. Using a discrete-
time model, the objective is to find an input, bounded by the actuator limits, that reduces
the norm of the difference between the desired and the actual state vector to zero at the
end of the control time. Assuming the system is linear time invariant, the optimal
transition from − kx to 0 will be the same as the optimal transition from 0 to kx [17].
63
Thus we can arbitrarily assign the final state kx to be 0 and the initial state to be the
negative of the desired transition. By doing this, we can form the problem as finding the
smallest k (maneuver time) such that the 2-norm of equation (6.23) is zero:
( ) kϕ = +0U Φ x CU (6.23)
where Te= AΦ and 0
T
e dξ ξ= ∫ AΓ b ,
1[ k−=C Φ Γ 2k−Φ Γ 3k−Φ Γ��� ]Γ ,
0[u=U 1u 2u ��� 1]ku − 1ku − are the system inputs at discrete points,
T is the sample time,
Φ is the discrete time system matrix,
Γ is the discrete system input matrix.
We can rewrite this as: 1
2min( )Tη ϕ ϕ= (6.24)
subject to min 1 maxku u u−< <
where minu is the minimum actuator effort,
maxu is the maximum actuator effort.
The state space representation of the transfer function given by equation (6.22) is as follows:
( ) ( )* * *
0 1 0 00 0 1 00 0 0 1
0 2 1 2τ τ ς τ ς
=
− − + − +
A
[ ]0 0 0 1 T=B (6.25)
[ ]1 0 0 0=C
[ ]0 0 0 0=D where A is the system matrix,
B is the input matrix,
C is the output matrix,
D is the feedforward matrix.
64
The discrete time state space model [ ],Φ Γ can be formulated from the above
continuous state space representation. This discrete representation of the model fits
nicely into a least-square optimization scheme, which is proposed above. The
optimization problem of equation (6.24) can be solved by first finding the move time, kT
of the rigid body. The rigid body move time can be found from equations (6.13) and
(6.14). If η given by equation (6.24), is equal to zero then kT must be greater than or
equal to the optimal value for move time. If the sampling period is constant, decreasing
k until η is non-zero will find the minimum k with η =0, which is the time-optimal
sampling index. If the initial guess gives an η greater than zero, the guess is too low and
k must be incremented until η =0. This is the minimum time k value [20]. The discrete
nature of the problem allows formulating constraints that achieve vibration reduction at
every point in the command.
6.4 Robust Time Optimal Command
The bang-bang optimal profiles are very sensitive to modeling errors. Errors in
estimated values of the damping and natural frequency of the system can result in
significant residual vibrations. This motivates the technique to reduce the sensitivity of
the bang-bang profile to modeling errors.
The control profile can be desensitized to modeling errors by additional switches
in the force profile. The bang-bang force profile from Section 6.3 has the effect of
placing a zero over each of the flexible poles of the system. The additional robustness
can be achieved by placing multiple zeros at the nominal location of the poles of the
system [27]. The new modified system after adding new poles at the system poles is:
( ) ( ) ( )( )*
2 * 2 2
4 1( )2 1 2 1n r
G ss s s s s sT τ ς ςω
=+ + + + +
(6.26)
The above transfer function can be represented in controllable state space form as
follows:
65
( ) ( ) ( ) ( )* * * * 2 * 2 *
0 1 0 0 0 00 0 1 0 0 00 0 0 1 0 00 0 0 0 1 00 0 0 0 0 1
0 4 1 2 4 4 4 2 4 4τ ςτ τ ς τ ς τ ς ς τ ς
=
− − + − + + − + + − +
A
[ ]0 0 0 0 0 1 T=B (6.27)
[ ]1 0 0 0 0 0=C
[ ]0 0 0 0 0 0 T=D
The remaining procedure to determine the robust time-optimal command is the same as
discussed in section 6.3.
6.5 Proposed Controller Design Framework: 2-DOF Controller
The proposed motion control scheme is shown in Figure 6.4. It is similar to two
degree of freedom (2-DOF) controller design proposed by Fujisaki and Ikeda [19]. In a
servomechanism positioning system, the system is designed to follow an input as
commanded by a predetermined reference signal. The additional freedom in a two-DOF
controller allows for a separate design of a feedforward term F between reference input r
and the servo input u.
Figure 6.4: General 2-DOF servomechanism; P, C, F, u, y, r, e, d, f denote the physical plant, feedback compensator, feedforward compensator, servo input, measured output, desired trajectory, servo position error, disturbances, and forcing function, respectively.
66
The use of a feedback compensator in the above design strategy helps to
manipulate the input on the basis of measured outputs, so as to minimize the effects of
disturbance and uncertainty on the ideal state and output responses.
In order to improve the performance of the motion of the z-axis, a method of
either compensating for or rejecting the nonlinear disturbance torques generated by the
dynamics must be found. A control scheme based on a model inverse has been proposed.
The feedforward compensation technique uses the accelerations, velocities, and positions,
generated by the trajectory planner, to follow the desired path. This trajectory also acts
as a reference position. As shown in Figure 6.5, the linear motor model is used to
generate the desired trajectory, which acts as a reference that combines with the feedback
signal to give the position error. The feedforward loop calculates the required torque,
also known as computed torque, to compensate the nonlinear torques. The feedforward
signal is combined with the feedback signal to give the final control input to the z-axis
servo.
The controller framework given by Figure 6.5 is evaluated for different designs of
feedforward compensator and plant models. The cases considered here are as follows:
1) Nonlinear plant model with nonlinear feedforward.
2) Nonlinear plant model with linear feedforward.
3) Linear plant model with linear feedforward.
The nonlinear feedforward scheme is based on the nonlinear model inverse based
on equation (4.25), given by:
( ) ( ) ( )1 1 1 1( ) ,.
nl J J b T Lτ θ θ θ θ θ θ θ = + + + −
"" "" (6.28)
The acceleration, velocity, and displacement are generated from the reference trajectory,
which is in turn used to generate nonlinear torques according to the above equation. The
linear feedforward is simply the inversion of the linearized model.
The nominal reference trajectory is generated by passing the shaped input through
a linear filter, which represents the linear servo model. The resultant output is doubly
integrated to generate the corresponding position reference profiles. These reference
motion profiles incorporate all the desirable properties of the original forcing functions.
67
Figu
re 6
.5: C
lose
d lo
op c
ontro
l stra
tegy
.
68
6.6 An Example of Finding Solution to Time-Optimal Command Problem Using
Least Square Optimization Approach
Consider a simple two degree of freedom system shown in Figure 6.6. It consists
of two moving masses that are attached with a spring element with spring constant K and
a damper with damping coefficient c. The moving mass M1 experiences some friction
from the ground, which can be modeled as a linear viscous damping for simplicity. The
above system under investigation consists of a rigid body mode and a single flexible
mode.
Figure 6.6: A simple model showing two masses attached with the spring and the damper.
Mass M1 has damping to ground.
The above system can be represented by the following transfer function:
( )2
2 2 21 2
21( ) *2
n n
n n
sG sM M s bs s s
ςω ωςω ω
+=
+ + + + (6.25)
where
1
1 2
1nMk
M Mω
= +
1
1 2
1 12
MbkM M
ς
= +
The values of the parameters used in the above transfer function are given in Table 6.2.
69
Table 6.2: Values of variables used in the ( )G s .
Parameter Value
M1 2 kg
M2 2 Kg
b 0.5 Nsec/m ς 0.05
nω 100 rad/sec
The time-optimal control problem can be stated as follows: Given the above linear
time invariant system, the objective is to move the system from initial rest position to
some final position 1 m away utilizing the actuator peak force of 100 N. The above
system is set in state space form as given in equation (6.25).
Figure 6.7: First plot shows input force profile vs time for time-optimal input of rigid
body, second figure shows the time -optimal non-robust force profile with constraints on residual vibrations developed using least square optimization.
70
Figure 6.7 shows two different kinds of input force profiles. The first force
profile utilizes the actuator peak force to drive the rigid body from initial rest point to
final rest position. The second bang-bang force profile also utilizes the peak actuator
constraint to drive the system but uses least square optimization technique to generate the
force profile such that residual vibrations are minimized. Thus the first profile was
developed with no constraints on residual vibrations while the second one was developed
with constraints on residual vibrations. Figure 6.8 shows the accelerations corresponding
to these two different inputs. As shown in the figure, the residual vibrations (vibrations
after the vertical line) in the second case are significantly lower than the first case. The
penalty for this reduced residual vibration is increased maneuver time, which can be
observed from the figure.
Figure 6.8: Acceleration comparison for bang-bang input and the time-optimal input developed using least square optimization. The output of the rigid body time-optimal
input shows considerable fewer vibrations.
71
7. CONTROL STRATEGY IMPLEMENTATION AND SIMULATION
RESULTS
This chapter discusses the results of the control strategy implemented on the
model. Time-optimal trajectory is developed off-line using least square optimization that
minimizes the residual vibration. This chapter also discusses the implementation of the
controller design framework, which integrates open loop force command, feedback
controller, and feedforward controller in a two degree-of-freedom control structure. For
different control structures, simulation results are presented and compared against two
different techniques of forcing function design.
7.1 Two Different Techniques to Design Forcing Functions
Concerning the design of a force profile, attention has focused on minimum time
point-to-point motions. In this chapter the results are compared with two different force
profiles. The first is the time-optimal bang-bang force profile, which switches between
maximum positive and maximum negative values. These forcing functions are developed
using least square optimization technique, which is discussed in section 6.3.1. The
second is the optimal profile generated under given constraint using the technique
proposed in [2]. These forcing functions are constructed from ramped sinusoid basis
functions so as to minimize the energy in a range of frequencies surrounding the system
natural frequencies. Gul [28] developed these forcing functions.
72
7.2 Input Design Specifications
These are the specifications that the model has to execute, such as rigid body
move time, peak torque specification, and residual vibration specification. These
specifications are given in Table 7.1 and Table 7.2. The rigid body move time for
different moves are calculated from equations (6.13) and (6.14) once the corresponding
moves are determined by running the experimental setup. The peak torque limit is based
on actuator constraints and is given in the servo manual [25]. The residual vibration is a
measure of the maximum acceleration of the system from the equilibrium after the input
is turned off. The peak vibration limit should not exceed 10 m/sec2. This number is
arrived at, by considering the fact that it represents a small percentage (≈1%) of the
maximum acceleration (800 m/sec2). The ideal way to select this number is to run the
setup and measure the actual level of residual vibrations. The acceleration has been
chosen to be one of the performance specifications because it serves as a good metric for
the measure of residual vibration level.
Table 7.1: Rigid body move time for different moves on the trajectory.
Rigid body moves Move time (msec)
Descent to first bond height. 6.7
Ascent to loop height. 5.1
Descent to second bond. 5.1
Ascent to clamp height. 3.8
Rise to reset height. 7.3
Table 7.2: Peak torque limit specification and residual vibration specification.
Specification Value Peak torque 1.6949 Nm
Maximum residual vibration amplitude 10 m/sec2
73
7.3 Open-Loop Simulation Results
The shaped torque profiles are run on the open loop model. The main drawback
with this, is that since the optimal torque profiles are designed off-line based on the
model, the quality of the model determines the maximum practically achievable
performance. Figures 7.1 and 7.2 show the bang-bang torque profile generated by least
square optimization technique and shaped torque profile generated using ramped sinusoid
function. As shown in the figure, the move time of ramped sinusoids is 0.2039 sec,
longer than the bang-bang profile time of 0.1919 sec. This is due to the fact that the
ramped sinusoid functions do not fully utilize the peak actuator force available.
74
Figure 7.1: Bang-bang time-optimal torque profile.
Figure 7.2: Optimal torque profile generated using ramped sinusoid functions.
75
Figure 7.3: Open loop acceleration comparison of linear and nonlinear model for bang-bang optimal profile. Second figure shows the exploded view of the residual vibrations
after second move.
Figure 7.4: Open loop acceleration comparison of linear and nonlinear model for ramped
sinusoid functions. Second figure shows the exploded view of the residual vibrations after first move.
Settling point
Settling point
76
As shown in Figure 7.1, the bang-bang torque profile for any move is not
symmetric because the rigid body mode has damping to ground. As a result, more energy
must be given to the system than taken out from the system. Figure 7.2 shows the forcing
profile developed using ramped sinusoid functions.
Figures 7.3 and 7.4 show the open loop comparison of linear and nonlinear model
using two different forcing functions. As shown in Figure 7.3, the output of the nonlinear
model has more residual vibrations as compared with the linear model. The worst case
residual vibrations are shown in the second figure for both cases. These vibrations occur
in different moves as observed from the figure. This is due to the fact that, while
designing the bang-bang forcing profile, the linear model is used. The nonlinearties
present in the model are ignored. As shown in the figure, the linear model has already
achieved its residual vibration specification of 10 m/sec2 much before the nonlinear
model. Figure 7.4 shows the open loop acceleration comparison of nonlinear and linear
model when the ramped sinusoid forcing profile is used as input. As shown in the figure,
the linear model has settled in the band of 10 m/sec2 much sooner as compared to the
nonlinear model. The nonlinear model takes a longer time to settle within the acceptable
range of vibration. This motivates the use of a closed loop controller to speed up the
transient response.
7.4 Closed loop Simulation Results
There are always some deviations between modeled and actual system
parameters, so open loop implementation of forcing functions is not often desirable. The
closed loop implementation takes care of any plant uncertainties, unmodeled dynamics,
and other nonlinearities. The simulation results of closed loop system implementing
various control schemes proposed in section 6.5 are discussed in this section. The
comparison is made with the nonlinear model, which represents the real system, and
linearized model, which is an approximation of the nonlinear model. The shaped inputs
that are developed using the linearized model are tested on the nonlinear model with
different control framework.
77
Figure 7.5: Closed loop acceleration comparison of output of nonlinear model with linear feedforward and linear model with linear feedforward when bang-bang torque profile is
used as input.
Figure 7.6: Closed loop acceleration comparison of output of nonlinear model with linear
feedforward and linear model with linear feedforward when ramped sinusoid torque profile is used as input.
Settling point
Settling point
78
In the closed loop control scheme, the shaped command is used to generate an
appropriate reference profile. The reference profile in this case is the position of the Z-
servo. The feedback controller is used to achieve good tracking performance and to
reject plant uncertainties that are not captured in the modeling. The use of a feedforward
signal resulted in faster response time than pure feedback structure. An obvious choice of
the feedforward controller is to use plant inversion. Two types of feedforward strategies
are proposed, the first one by inverting the dynamics of the linearized model (rigid body
part) and the second one by inverting the dynamics of the nonlinear model.
The rigid body portion of the linearized transfer function that is inverted to
generate the feedforward signal has been approximated by different values of the inertia
and damping for different moves. This is done to get a good approximation to the inertia
and damping of the nonlinear model which constantly changes along the move. The
effective values of inertia and damping as used for the approximation of nonlinear model
are given in Table 7.3. The shaped commands for different moves are developed for the
corresponding values of inertia and damping. The nonlinear model of the servo is
inverted according to equation (6.28). This inversion technique is similar to the
�computed torque� control used in robotics [17] and [18].
Table 7.3: Effective values of inertia and damping used for different moves for generating bang-bang forcing function profile.
Rigid body moves Inertia Value
(J linear motor inertia)
Damping Value
(b linear motor damping)
Descent to first bond. 1.08J b
Ascent to loop height/Descent to second
bond 1.15J b
Ascent to clamp height. 1.6J b
Rise to reset height. 1.5J b
79
Figure 7.7: Closed loop acceleration comparison of output of nonlinear model with
nonlinear feedforward and linear model with linear feedforward when bang-bang torque profile is used as input.
Figure 7.8: Closed loop acceleration comparison of output of nonlinear model with
nonlinear feedforward and linear model with linear feedforward when ramped sinusoid torque profile is used as input.
Settling point
Settling point
80
In the closed loop control scheme, the shaped command is used to generate the
reference profile. The PD (proportional derivative) controller is designed to achieve
good tracking performance and eliminate steady state error. The PD controller used in
the above control schemes has the form:
F P DG K K s= + (7.1)
where PK is the proportional gain,
DK is the derivative gain. These gains are given in Table 7.4
Table 7.4: PD Controller gains.
Gain Controller gain
PK 59.5
DK 36
Figures 7.5 and 7.6 show the closed loop acceleration comparison when linear
feedforward controller is applied to linear and nonlinear models. The figures also show
the enlarged view of the worst case residual vibrations. The nonlinear model with linear
feedforward (see Figures 7.5) has a higher level of residual vibrations for bang-bang
input as compared to the ramped sinusoid input. The reason is that the inversion of the
linear plant does not completely cancel the effects of nonlinearities. This result motivates
the inversion of nonlinear plant to generate feedforward torques.
Figures 7.7 and 7.8 show the closed loop acceleration comparison between linear
model with linear feedforward and nonlinear model with nonlinear feedforward. The
figures also show an enlarged view of the worst case residual vibration. The residual
acceleration in the case of bang-bang forcing profile is much higher as compared with the
ramped sinusoid forcing profile. Moreover the peak accelerations of any move for the
bang-bang case are greater than peak accelerations of the corresponding move for the
ramped sinusoid input. This is due to the fact that the bang-bang input better utilizes the
peak actuator torque.
81
Figure 7.9: Open loop displacement comparison of linear and nonlinear model for bang-
bang optimal profile.
Figure 7.10: Closed loop displacement comparison of linear and nonlinear model for
bang-bang optimal profile.
82
Figure 7.9 shows the open loop displacement comparison of the linear and
nonlinear models for the bang-bang forcing profile. As shown in the figure, the
displacement of the nonlinear model drifts upward due to the nonlinearities present in the
model, which are not accounted for while designing the optimal force profile. This also
suggests that while designing the bang-bang profile, the inertia has been overestimated
for the different moves. The actual inertia value of the nonlinear model is less than the
estimated value. This nonlinear deviation motivates the implementation of the feedback
controller. Figure 7.10 shows the closed loop comparison of the linear and nonlinear
models with the bang-bang forcing profile after implementing the feedback controller.
The feedback controller takes care of the model nonlinearities and achieves good tracking
performance.
Figure 7.11: Comparison of the PD controller effort for various control schemes for bang-
bang input.
83
Figure 7.11 shows the comparison of the PD controller effort for various control
schemes for the bang-bang input. The controller effort for the nonlinear system with
nonlinear feedforward is quite small. This is due to the fact that, the nonlinear
feedforward controller cancels most of the plant nonlinearities. The feedback control can
then achieve robust tracking performance in the absence of plant nonlinearities.
7.5 Key Results of Developed Control Strategies
Figures 7.12 and 7.13 show the effectiveness of the nonlinear feedforward over
the linear feedforward for bang-bang and ramped sinusoid inputs respectively. The use
of linear feedforward causes high level of residual vibration as compared to nonlinear
feedforward. Also the use of nonlinear feedforward causes faster settling time.
Figures 7.14 and 7.15 show the acceleration comparison of the nonlinear model
with and without using the feedforward controller. The figures also show the exploded
view of the worst case residual vibrations. As shown in the figures, the feedforward
controller is effective in making the transient response faster. Also the level of residual
vibration when the feedforward controller is used is much less as compared to the case in
which the feedforward controller is not used.
84
Figure 7.12: Comparison of tip acceleration of nonlinear model with linear and nonlinear
feedforward for bang-bang input.
Figure 7.13: Comparison of tip acceleration of nonlinear model with linear and nonlinear
feedforward for ramped sinusoid input.
Settling point
Settling point
85
Figure 7.14: Comparison of tip acceleration of nonlinear system with and without
feedforward controller for bang-bang input.
Figure 7.15: Comparison of tip acceleration of nonlinear model with and without feedforward
controller for ramped sinusoid input.
86
7.6 Robustness to Variation in System Parameters
If the bang-bang control is implemented on the physical system, the residual
vibration of the flexible modes is eliminated only if the values of the undamped
frequencies and damping ratio are exactly the same as the modeled values. If minor
errors occur either in natural frequency or damping, considerable vibration occurs at the
end point. Figure 7.16 shows the comparison of robust and non-robust bang-bang force
profiles. As discussed in chapter 6, the robustness to variations in system parameters is
achieved by adding multiple zeroes at the poles of the system. The robust profile has a
move time of 0.1919 sec while the non-robust profile has a move time of 0.1912 sec.
Thus the robustness is achieved at the cost of move time. The non-robust profile has less
number of switches as compared to the robust profile. The extra number of switches
cancels the additional poles to achieve greater robustness.
Figure 7.16: Comparison of robust and non-robust bang-bang profile.
87
7.6.1 Relative Sensitivity of Residual Vibrations to Change in Frequency
In order to demonstrate the robustness of input commands to variations in system
parameters, the sensitivity of residual vibration to natural frequency is considered. To
compare the performance of different inputs in the presence of modeling errors, the
sensitivity curves are plotted. Figure 7.17 shows the sensitivity curves of linear open
loop model for different moves and for different inputs. The x-axis plots the non-
dimensional normalized frequency and the y-axis plot the vibration error caused due to
change in natural frequency. Vibration error is defined in terms of percentage residual
vibration, which is the ratio of maximum residual acceleration amplitude and maximum
acceleration. The system robustness can be measured quantitatively by measuring the
width of the curve at some low level of vibration. The non-robust (Zero vibration shaper)
bang-bang profile will cancel the vibration only when the system natural frequency and
damping ratio are exact.
Figure 7.17: Sensitivity curves of residual vibration to variation in normalized frequency
for different inputs and for different moves.
88
As shown in the figure, as the actual frequency deviates from the model
frequency, the amount of vibration for the non-robust case increases rapidly. The robust
input keeps the vibration amplitude at a low level over a wider range of frequencies than
the non-robust input. The input developed using ramped sinusoid functions keeps the
vibration at a lower level for a much wider range of frequencies as compared to the other
two inputs. This is because these functions are constructed so as to have minimum
energy in a range surrounding the system natural frequency.
The robustness of these inputs can be compared numerically by defining the
insensitivity of a shaper as the width of its sensitivity curve. For example the 1%
insensitivities in the natural frequency of the 4th move are given in Table 7.5.
Table 7.5: Comparison of 1% insensitivity in natural frequency for 3 different inputs.
Types of input Insensitivity value
Non-robust bang-bang 0.061
Robust bang-bang 0.1655
Ramped sinusoid 0.2431
7.6.2 Relative Sensitivity of Residual Vibration to Change in Modal Damping
This section discusses the sensitivity of the residual vibration to damping ratio.
The sensitivity is compared for three different inputs, for linear open system as shown in
the Figure 7.18. As shown in figure, the variation of damping ratio does not have a
significant effect on the residual vibration. As observed in the figure, the robust bang-
bang profile and ramped sinusoids are quite robust with change in the damping ratio.
89
Figure 7.18: Sensitivity curves of residual vibration to variation in normalized modal
damping for different inputs and for different moves.
7.6.3 Absolute Sensitivity of Residual Vibration to Change in Natural Frequency and
Modal Damping
The previous section discusses the relative sensitivity of residual vibrations to
variations in system parameters for the linear model. This section discusses the absolute
sensitivity of residual vibration to change in system parameters for the nonlinear model in
open loop framework. Figure 7.19 shows the tip acceleration of the nonlinear model
when the natural frequency is varied ± 5% from its nominal value. The nonlinear model
does not satisfy the residual vibration constraint when the frequency is changed for the
robust bang-bang input but the output of the ramped sinusoid input settles within the band
of 10 m/sec2.
90
Figure 7.19: Comparison of maximum residual vibration of nonlinear model with bang-
bang forcing profile and ramped sinusoid forcing profile when natural frequency is increased and decreased by 5%.
Figure 7.20: Comparison of maximum residual vibration of nonlinear model with bang-
bang forcing profile and ramped sinusoid forcing profile when damping ratio is increased and decreased by 5%.
91
Figure 7.20 shows the tip acceleration of the nonlinear model when the modal
damping is varied ± 5% from its nominal value. The nonlinear model satisfies the
residual vibration constraint when the modal damping is changed for both inputs. The
bang-bang profile is quite robust to variations in modal damping.
7.6.4: Absolute Sensitivity of Residual Vibration to Change in Rigid Body Inertia and
Viscous Damping
The system output was also investigated by varying the system parameters of
rigid body inertia and damping. The motor inertia and damping are each varied ±10%
from their nominal values. Figure 7.21 compares the maximum residual acceleration of
the nonlinear model with nonlinear feedforward for the robust bang-bang and ramped
sinusoid inputs when the inertia of the rigid body is varied. These comparisons show that
the closed loop sensitivity of the nonlinear model remains within acceptable bounds even
when the rigid body inertia and damping is varied ±10%. This behavior is expected since
the feedback controller takes care of any plant uncertainties, when the uncertainties are
within the acceptable bound.
Figure 7.22 compares the maximum residual acceleration of the nonlinear model
for robust bang-bang and ramped sinusoid inputs when viscous damping is varied. As
shown in the figure, the residual vibration amplitude remains within the acceptable limit
of 10 m/sec2 for both inputs.
92
Figure 7.21: Comparison of maximum residual vibration of linear and nonlinear model
with bang-bang forcing profile and ramped sinusoid forcing profile when rigid body inertia is increased and decreased by 10%.
Figure 7.22: Comparison of maximum residual vibration of linear and nonlinear model
with bang-bang forcing profile and ramped sinusoid forcing profile when rigid body damping is increased and decreased by 10%.
93
7.7 Summary of Results
Different shaped commands implemented in this work are shown in Figure 7.23.
0 0.05 0.1 0.15 0.2 0.25-2
-1
0
1
2
Sha
ped
torq
ue (N
m)
Torque-optimized input
0 0.05 0.1 0.15 0.2 0.25-2
-1
0
1
2
Sha
ped
torq
ue (N
m)
Bang-bang input
0 0.05 0.1 0.15 0.2 0.25-2
-1
0
1
2
Time (sec)
Sha
ped
torq
ue (N
m)
Ramped sinusoid input
Figure 7.23: Comparison of different input torques: Torque-optimized, robust bang-bang,
and ramped sinusoid input torque profiles.
The outputs of these time waveforms are shown earlier in sections 5.3.1 and 7.5.
The torque-optimized waveform takes the longest time. A comparative summary of these
waveforms is given in Table 7.6. Acceptable vibration level is taken to be 10 m/sec2.
Table 7.6: Comparative summary of different waveforms.
Waveform type Cycle time (msec) Percentage of
current waveform
Vibration level
(m/sec2)
Torque-optimized 216.6 75.84% 40
Bang-bang 191.9 67.19% 5
Ramped sinusoids 203.9 71.39% 5
94
The bang-bang input profile has the shortest cycle. The ramped sinusoids and
bang-bang inputs have the same level of vibration but bang-bang profile has the shorter
cycle time as compared to the ramped sinusoid. But the bang-bang profile is less robust
to parameter variations as shown in Table 7.5. So there is a trade off between the shortest
cycle time and the robustness that can be achieved by the given command. Table 7.7
quantitatively summarizes the different bonding attributes of these waveforms.
Table 7.7: Quantitative summary of different command signals.
Bonding cycle
attributes
Current
command
(msec)
Torque limited
command (time-
optimized)
(msec)
Bang-bang
shaped
command
(msec)
Ramped
sinusoid
command
(msec)
Descent to first bond 35.0 15.5 7.04 10.6
Ascent to loop height
17.0 7.8 5.52 7.89
Descent to second bond
34.0 14.9 5.52 7.89
Ascent to clamp height
18.6 8.39 3.90 5.28
Rise to reset height 20.2 9.13 7.24 9.51
Total non-move time 160.8 160.88 162.68 163.03
Total bonding cycle time
285.6 216.6 191.9 203.9
Percent of current command time
100% 75.84% 67.19% 71.39%
Different control strategies are shown to implement the shaped forcing commands
on the system model. The best performance is achieved when the nonlinear inversion of
the rigid body is put in the feedforward path and PD controller is put in the feedback
path. Also for a given move the cycle time of bang-bang inputs is smaller as compared to
ramped sinusoids but they are much more sensitive to variations in system parameters.
95
8. CONCLUSIONS AND FUTURE WORK
8.1 Conclusions
This thesis has examined the issue of command generation for flexible systems.
The importance of command shaping has been demonstrated by controlling the residual
vibration of the bond head of a wire bonder by generating time-optimal trajectories off-
line.
Technique for generating multi-switch bang-bang commands was developed from
a linear dimensionless system to provide rapid point-to-point motion of the bond head.
These forcing functions were then implemented on the nonlinear model. The developed
forcing functions are successful in achieving fast motion with minimum residual
vibration for the nonlinear model. Because these commands are highly sensitive to
modeling errors, methods for specifying robustness have been incorporated into the
design procedure. From simulation results, the linear model has demonstrated its
robustness to variations in system parameters but the nonlinear model is quite sensitive to
modeling errors.
Given the variety of command generation techniques available in the literature,
comparison is made between the model outputs from two different inputs; bang-bang and
ramped sinusoids. Moreover the sensitivities for different inputs are compared both in
relative and absolute terms to variations in system parameters. The nonlinear model is in
fact quite robust to inputs developed using ramped sinusoids, which led to the conclusion
that the sensitivity of the nonlinear model is a function of the input profile.
The main contributions of this thesis are the development of a nonlinear model
and the design of torque commands for the nonlinear system using a linear model for the
optimization routine. Another main contribution of this thesis is the use of nonlinear
96
dynamics inversion of the nonlinear model in the feedforward combined with PD
controller in the feedback path to control residual vibrations.
The integration of shaped commands, feedforward and feedback controller
produce much better results. It was shown in simulations that with proper integration of
the three variables, the bonding cycle time and residual vibrations showed significant
improvement over the unshaped input.
8.2 Future Work
Whereas the current research answered some basic questions, numerous new
questions or topics can be raised which deserve further research. Z-axis of the wire
bonder is the main axis in terms of bonding operations. Current research only focuses on
the modeling of the vertical motion of the bonding process. The other two axes of the
wire bonder, namely X and Y-axis, can be modeled in order to develop synchronized
controlled motions of three axes that complete the bonding process. The X and Y axes of
the table are activated by two different servos. Thus modeling the servo would be useful.
The actual implementation of the control strategies on the wire bonder, which
involves implementing the 2-DOF-controller framework on the actual setup, would be
useful. The existing optical encoder can be used for position feedback. The possibility
of bringing the microcomputer of the wire bonder into the closed loop can also be
explored.
Another useful investigation would be to modify the shaped torque profiles to
incorporate a constant negative velocity portion, where the bond force is applied.
Currently the shaped torque profile moves the system from point-to-point. Thus
developing motion profiles that move the system to some final constant velocity instead
of zero velocity would be an interesting problem.
In this work the acceleration is taken to be the measure for measuring the residual
vibration level. The rationale behind this is that, acceleration is easy to measure and
serves as a good metric for performance comparison of vibration levels. Since the
implementation of the shaped commands did show significant improvements in cycle
97
time, the acceleration specifications can now be related to displacement specifications to
measure the residual vibration level.
Currently the force profiles are developed from the linear model using least
square optimization. In this work the linear model is used to generate input commands
for the nonlinear model. It would be a useful exercise to incorporate the nonlinear model
into the optimization technique to develop shaped motion profiles.
98
LIST OF REFERENCES
[1] Futami, S., Kyura, N., and Hara, S., 1983, �Vibration Absorption Control of Industrial Robots by Acceleration Feedback,� IEEE Transactions on Industrial Electronics, vol. IE-30, No. 3, pp. 299-305.
[2] Meckl, P.H., and Kinceler, R., 1994, �Robust Motion Control of Flexible Systems Using Feedforward Forcing Functions,� IEEE Transactions on Control Systems Technology, vol. 2, No. 3, pp. 245-254.
[3] Meckl, P.H., and Arestides, P.B., 1998, �Optimized S curve motion profiles for minimum residual vibration,� Proceedings of the American Control Conference, Philadelphia, PA, pp. 2627-2631.
[4] Pao, L.Y., and Lau, M.A., 1998, �Input Shaping Designs to Account for Uncertainty in Both Frequency and Damping in Flexible Structures,� Proceedings of the American Control Conference, Philadelphia, PA, pp. 3070-3071.
[5] Singhose, W.E., Seering, W.P., and Singer, N.C., 1997, �Time-Optimal Negative Input Shapers,� ASME Journal of Dynamic Systems, Measurement, and Control, vol. 119, pp. 198-205.
[6] Singer, N.C., and Seering, W.P., 1990, �Preshaping Command Inputs to Reduce System Vibration,� ASME Journal of Dynamic Systems, Measurement, and Control, vol. 112, pp. 76-81
[7] Farrenkopf, R.L., 1979, �Optimal Open-Loop Maneuver Profiles for Flexible Spacecraft,� Journal of Guidance and Control, vol. 2, No. 6, pp. 491-498.
[8] Reynolds, M.C., and Meckl, P.H., 2001, � Hybrid Optimization Scheme for Time Optimal Control,� Proceedings of American Control Conference, Arlington, VA, June 25-27, pp 3421-3426
[9] Singh, G.K., Kabamba, P.T., and McClamroch, N.H., 1989, �Planar, Time-Optimal, Rest-to-Rest Slewing Maneuvers of Flexible Spacecraft,� Journal of Guidance, Control and Dynamics, vol.12, No. 1, pp. 71-81.
99
[10] Pao, L.Y., 1994, �Characteristics of the Time-Optimal Control of Flexible Structures with Damping,� Proceedings of the IEEE Conference on Control Applications, Glasgow, Scotland, pp. 1299-1304.
[11] Pao, L.Y., 1996, �Minimum-Time Control Characteristics of Flexible Structures,� Journal of Guidance, Control, and Dynamics, vol. 19, No. 1, pp. 123-129.
[12] Tuttle, D.T., and Seering, P.W., 1996, �Creating Time-Optimal Commands for Systems with Denominator Dynamics,� Proceedings of the 1996 IEEE International Conference on Controls Applications Dearborn, Michigan September 15-18 1996. pp 385-390.
[13] Hyde, J.M., and Seering, W.P., 1991, �Using Input Command Pre-Shaping to Suppress Multiple Mode Vibration,� Proceedings of the 1991 IEEE International Conference on Robotics and Automation Sacramento, California April 1991.pp 2604-2609.
[14] Singh, T., and Heppler, G.R., 1993, �Shaped Input Control of a System with Multiple Modes,� ASME Journal of Dynamic Systems, Measurement and Control, vol. 115, pp. 341-347.
[15] Meckl, P.H., and Umemoto, K., 1999, �Achieving Fast Motions in Semiconductor Manufacturing Machinery,� Proceedings of the 1996 IEEE International Conference on Controls Applications Kohala Coast-Island of Hawaii, Hawaii August 22-27. pp 725-729.
[16] De Roover, D., and Sperling, F.B., 1997, �Point-to-point Control of a High Accuracy Positioning Mechanism,� Proceedings of the American Control Conference, Albuquerque, NM, pp. 1350-1354.
[17] Bestaoui, Y.,and Benmerzouk, D., 1993, �Analysis of the Robotic Computed Torque Technique,� Proceedings of IEEE International Conference on Systems Engineering in the Service of Humans, vol.5, pp 189-194.
[18] Khalil, W., and Boyer, F., 1995, � An Efficient Calculation of Computed Torque Control of Flexible Manipulators,� IEEE International Conference on Robotics and Automation, vol. 1, pp 609-614.
[19] Fujisaki, Y., and Ikeda, M., 1993, �A Two Degree-of-freedom Design of Optimal Servosystems for General Reference Signals,� Proceedings of 32nd Conference on Decision and Control, San Antonio, TX, pp. 3308-3810.
[20] Mynderse, J.A., 2002, Testing and System Identification of Wire Bonder Z-Axis. B.S. Thesis, Purdue University, West Lafayette, IN.
100
[21] Singh, T., and Singhose, W., 2002. �Tutorial on Input Shaping/time Delay Control of Maneuvering Flexible Structures� Proceedings of the American Control Conference, Anchorage, Alaska, pp. 1717-1731.
[22] Cutforth, C.F., and Pao L.Y., 2003 �Control using Equal Length Shaped Commands to Reduce Vibration.� IEEE Transactions on Control System Technology vol. II No. 1, pp. 62-72.
[23] Reynolds, M.C., and Meckl, P.H. 2003, � The Application of Command Shaping to the Tracking Problem.� Proceedings of the American Control Conference, Denver, Colorado, pp. 3148-3153.
[24] Frequency System Identification (FDIDENT) Toolbox for MATLAB, Ver 3.1, 2002, distributed by Gamax Inc.
[25] K&S Automatic Wire Bonder 1418/19,1984,�Electrical Documents�, Revision J.
[26] PCB Peizotronics ICP accelerometer model number 352C65, �General Operating Guide�
[27] Pao, L.Y., and Singhose, W.E., 1997, � Verifying Robust Time-optimal Commands for Multimode Flexible Spacecraft,� AIAA Journal of Guidance, Control, and Dynamics, vol 20, no. 4, pp. 831-833.
[28] Gul, K.A.,2003, Command Shaping Control for the Z-Axis of a Wire Bonderfor Reducing Residual Vibration M.S. Thesis, Purdue University, West Lafayette, IN.