Vibration Suppression GUI Tool based Input Shaping Control and Its Applications to Industrial Processes Kazuhiko Terashima ∗ Minh Duc Duong ∗∗ Youji Masui ∗ Hirotoshi Kawamura ∗∗∗ Toshio Kamigaki ∗∗∗ Masatoshi Fujii ∗∗∗∗ Takahiro Fukuda ∗∗∗∗ ∗
Toyohashi University of Technology, Toyohashi, 441-8580, Japan (e-mail:
[email protected]) ∗∗ Hanoi University of Technology, Hanoi, Vietnam (e-mail:
[email protected]) ∗∗∗ Synfonia Technology, Co .Ltd., Toyohashi 441-3195, Japan (e-mail:
[email protected]) ∗∗∗∗ Kondou Seisakusyo, Co.Ltd., Gamagori 443-0036, Japan (e-mail:
[email protected]).
Abstract: This paper proposes a vibration suppression tool with visual graphical interface to solve the vibration problem based on input shaping approach. The vibratory model was identified and the preshaped input was generated using the tool. The proposed tool was then applied in real industry processes such as semiconductor wafer transfer robot and gantry loader to solve the vibration problems in high speed operation and good results were obtained that confirm the validity of the tool. Keywords: Vibration Control, Graphical User Interface (GUI), Input Shaping, Wafer Transfer Robot, Gantry Loader. 1. INTRODUCTION In manufacturing, increasing the productivity is always desired, and one solution is to make machines move faster while keeping the same product’s quality. When a machine moves, its motion induces vibrations in its structure. At low speeds the vibrations is small that do not affect to the machine’s performance. So they can be ignored. However, at moderate-to-high speeds, these vibrations become larger, and many parts of the machine no longer move as they were intended to move. Many machines in industry have their performance limited by these vibration problems. Some examples include robots, transfer systems, automated assembly and production equipment. There are many researches about vibration reduction in machines. However, some of them require a good, sophisticated model of machine. Some other methods need special sensors or the system must be redesigned. In addition, most of them are used to the laboratory. On the other hand, it is difficult for general engineers to apply these methods to real manufacturing systems because of the need for knowledge of specialized mathematics and control theory. Therefore, it is necessary to develop a tool that can help general engineers to solve the vibration problem with various machines. In this paper, a vibration suppression tool that can be widely used for many machines in practice is developed based on preshaping approach, see Singer et al. (1990), Hyde et al. (1991), Singhose et al. (1996). Using the
proposed tool, the vibration model is identified from input and output signals collected from experiments. Then the new input that suppresses the vibration is generated from the commanded input. Establishing a good machine model, redesigning of the machine, or inserting special sensors is not required. With graphical user interface (GUI), this tool can be easily used by users with limited knowledge of system and control theory. The paper is organized as follows: The preshaping approach is reviewed and the preshaped input generating algorithm is demonstrated in section 2. In section 3, the identification algorithm for vibration model based on Fourier transform and simplex method is newly presented. Section 4 presents the input generation tool developed in Matlab using the preshaping approach and the identification algorithm in section 3. The results of applying the developed tool to both semiconductor wafer transfer robot and gantry loader in real industry application are given in section 5. Section 6 shows the conclusion and further works. 2. INPUT GENERATION BASED ON THE PRESHAPING APPROACH 2.1 In case of time invariant vibratory system The preshaping approach attempts to generate a new input to suppress vibration from commanded input that makes vibration in the system. The first step toward generating a system input which results in a vibration-
First Impulse Second Impulse
the system moves forward without vibration after the input has ended as shown in Fig. 1b.
Response to first impulse Response to second
The result of vibration reduction by using additional impulse to suppress the vibration caused by the first impulse can be applied to any arbitrary input by convolving the input together with the impulse sequence, see Singer et al. (1990). However, to make the same motion with commanded input and to guarantee the convolved input never exceeds the maximum value of the commanded input, the impulse sequence must be normalized by setting the sum of impulses’ amplitudes equal 1. Then the amplitude of the first and the second impulse in the impulse sequence are 1/(A1 + 1) and A1 /(A1 + 1), respectively.
(a) First Impulse Second Impulse Combined response (b)
Fig. 1. Principle of preshaping approach free system output is to specify the system response to an impulse input. An uncoupled, linear, vibratory system of any order can be specified as a cascaded set of second-order poles with the decaying sinusoidal response: N Ki ω0i −ζi ω0i (t−t0) e sin(ω 1 − ζi2 (t − t0 )),(1) y(t) = 0i 2 1 − ζ i i=1 where t is the time, and t0 is the time of the impulse input. N is the number of vibrations included in the output of the plant. ω0i is the undamped natural frequency, ζi is the damping ratio, Ki is the gain of the ith vibration elements of the plant, i = 1, ..., N . Here, it is supposed that the amplitude of the impulse is 1. The transfer function of the vibratory system can be demonstrated as follows: N 2 Y (s) Ki ω0i (2) = 2 U (s) s2 + 2ζi ω0i s + ω0i i=1
For simplicity, let’s first consider one mode (N = 1). The response of vibratory system with unit pulse input at the time zero is specified as follows: K1 ω01 −ζ1 ω01 t y1 (t) = e sin(ω01 1 − ζ12 t) (3) 1 − ζ12
In order to suppress the vibration caused by the first impulse (as solid line in Fig. 1a), another impulse is used. Supposing that the magnitude and the time of the second impulse are A1 and T1 respectively, the response of the vibratory system with the second impulse input is: K1 ω01 −ζ1 ω01 (t−T1) e sin(ω01 1 − ζ12 (t − T1 ))(4) y2 (t) = A1 1 − ζ12 Setting the result of adding two impulse responses y1 (t) + y2 (t) for all times after the input ends (i.e. after the second impulse) to 0, the magnitude and the time of the second impulse can be obtained as follows: (The detail can be seen in Singer et al. (1990)) −√ 1
ζ π
A1 = e T1 =
1−ζ 2 1
When the system includes higher modes, N ≥ 2, the impulse sequence of single mode can easily be generalized to higher modes, see Hyde et al. (1991). If an impulse sequence is built for each of the first two modes of the system independently, they can convolve to form an impulse sequence which reduces vibration of twomode system. Same as the single mode case, the impulse sequence in higher modes can also be normalized and convolved with a commanded input to make vibrationsuppressed input to the system. The convolving is as follows: Assuming that the commanded input is u(t), the vibratory model is the same as in (2). To generate the preshaped input up (t) for multimode vibration, the magnitude and the time of the second impulse for each only single mode is calculated as same as (5), i = 1, 2, ..., N : −√ i
ζ π
Ai = e
1−ζ 2 i
, π . Ti = ω0i 1 − ζi2
(6) (7)
The preshaped general input up (t) for the vibration processes comprised of multimode is calculated following the below steps: • Step 1: Calculate the preshaped input u1 (t) corresponding to mode 1 from the commanded input u(t): 1 A1 u1 (t) = (8) u(t) + u(t − T1 ). A1 + 1 A1 + 1 • Step 2: Calculate the preshaped input ui (t) corresponding to mode i from the preshaped input ui−1 (t) of the previous mode (i − 1) (i ≥ 2): 1 Ai ui−1 (t) + ui−1 (t − Ti ). (9) ui (t) = Ai + 1 Ai + 1 • Step 3: The preshaped input up (t) is the preshaped input uN (t) corresponding to mode N which is calculated from the preshaped input uN−1 (t) of the previous mode (N − 1): up (t) = uN (t). 2.2 In case of time variant vibratory system
,
π . ω01 1 − ζ12
(5)
By choosing appropriate magnitude and time of the second impulse, two impulse responses can be superposed so that
In some cases, the parameters of vibratory system, such as vibration frequency ω0 , is varied with time. If the variation is known before hand, the preshaped input can be generated to suppress the vibration of time variant vibratory system.
Let us consider the single mode vibratory system, N = 1, with transfer function is the same as in equation (2), but all parameters are time variant. 2 (t) Yt (s) Kt (t)ω0t = 2 2 Ut (s) s + 2ζt (t)ω0t (t)s + ω0t (t)
(10)
The equivalent state-space model of the vibratory system is X˙ t (t) = At (t)Xt (t) + Bt (t)ut (t) (11) where Xt = [xt1 , xt2 ]T is the state of the time variant vibratory system and 0 1 0 Bt (t) = (12) At (t) = 2 2 −ω0t Kt ω0t −2ζt ω0t In order to use preshaping approach, the time variant vibratory system must be converted to an equivalent time invariant system. Supposing the state-space model of the equivalent time invariant vibratory system is X˙ 0 (t) = A0 Xt (t) + B0 u0 (t) (13) where Xt = [x01, x02]T is the state of the time invariant vibratory system and 0 1 0 A0 = Bt = (14) −ω02 −2ζ0 ω0 K0 ω02 By setting the state of the time variant system to be the same with the one of the time invariant system, Xt (t) = X0 (t) for all the time, it is obtained At (t)Xt (t) + Bt (t)ut (t) = A0 X0 (t) + B0 u0 (t)
(15)
3.1 Vibration frequency identification The frequency characteristic of a vibratory system provides information about vibration frequencies. The gain of the system in its frequency characteristic becomes the local maximum at vibration frequencies, so vibration frequencies are determined from system frequency characteristic. The mode number is the system’s number of vibration frequencies. In practice, system input and output are usually discrete data, enabling FFT to be used to determine the system’s frequency characteristic, and then system vibration frequencies and mode number follows: • Calculate the FFT of input, Gin (jω), and output Gout (jω). • Determine system frequency characteristic G(ω) = |Gin |/|Gout|. • Determine the local maxima of G(ω) and choose from among them those points at which gains are unusually large. System vibration frequencies ωi correspond to chosen local maxima. The mode number corresponds to the number of vibration frequencies chosen. 3.2 Identification of damping factors and gains The vibratory system model is as shown in equation (2), and vibratory model damping ratios and gains are determined by choosing that set of parameters minimizing differences between measured and estimated output with the same input. Cost function J, demonstrating the difference between measured output signal ym and estimated output signal ye , is defined as follows:
Then, the input ut (t) of the time variant system can be calculated from the input and state of the time invariant system as follows: 1 2 2 2 ut = 2 ((ω0t − ω0 )x01 + (2ζ0t ω0t − 2ζ0 ω0 )x02 + K0 ω0 u0 )(16) Kt ω0t Finally, the preshaped input ut (t) for vibration suppression of a time variant vibratory system is calculated from commanded input u(t) following the below steps: • Step 1: Choose the equivalent time invariant vibratory system. • Step 2: Calculate the preshaped input u0 (t) of the equivalent time invariant vibratory system and system’s state X0 (t) • Step 3: Calculate the preshaped input ut (t) from u0 (t) and X0 (t) using (16)
J=
1 Texp
T exp
(ym (t) − ye (t))2 dt
(17)
0
where Texp is the experimental time corresponding to measured output signal ym for identification. Estimated output is calculated from an input signal and the vibration model using the Rungen-Kutta method. To find a set of vibration model damping ratios and gains minimizing cost function J, we use simplex optimization, see Collatz et al. (1975). In this paper, the coefficients for searching process are set as follows: reflection coefficient α = 1, expansion coefficient γ = 2, positive contraction coefficient β + = 0.5, and negative contraction coefficient β − = 0.5.
3. VIBRATION MODEL IDENTIFICATION As seen in the previous section, generating vibrationsuppression input for a system requires vibration model parameters, which include mode number N , vibration frequencies ω0i , damping ratio ζi and gain Ki corresponding to individual modes. We divide vibration model parameter identification into two: First, we determine vibration frequencies and thus the mode number, by using fast Fourier transformation (FFT). Second, we determine other parameters by minimizing the difference between measured and estimated output.
4. PRESHAPING INPUT GENERATION TOOL In order to easily apply the vibration suppression approach presented in this paper, a preshaped input generation tool with graphical user interface (GUI) is developed in Matlab, as shown in Fig. 2. There are two main parts in this tool, the identification part and the input generation part. In the identification part, the vibration model is identified from experimental data. In the input generation part, the preshaped input is generated.
Fig. 2. Input Generation Tool 4.1 Identification part The experimental data used in this program includes time, input and output. The data is stored in an Excel file and the file name is put into the program, in order that the program can use the data. The system then determines and draws the frequency characteristic of the vibratory system. From the frequency characteristics, the users can choose the mode of the vibratory system (up to 3 modes), then other parameters can be determined. The comparison between the experimental output and the estimated outputs is also shown by drawing these two outputs in the same figure. Mode number can be easily extended.
this tool, the model’s parameters can be also adjusted by directly inputting the parameter’s values to the program and the preshaped input is generated corresponding with the adjusted model’s parameters. 5. APPLICATION OF THE PROPOSED TOOL 5.1 Multimode vibration suppression for a wafer transfer robot
Pick
4.2 Input generation part After receiving the vibratory system’s parameters, the preshaped input can be generated from commanded input. There are two options for generating the preshaped input. In the first option, the commanded input is determined beforehand. The program generates the preshaped input from the commanded input stored in the Excel file that its name is put into the program. In the second option, the command input can be generated automatically. By inputting the desired distance, maximum velocity, maximum acceleration, the sampling time, and the time values of the commanded input, the program will automatically generate the acceleration (commanded input), velocity and position data, where the velocity is under trapezoidal shape. Then the program will generate the preshaped input from the generated commanded input and save it into an Excel file. Moreover, because noises or disturbances may affect the measured signal, the identification process may not give the exact model’s parameters. Users may want to change the model’s parameters according to their experiences. In
Z
R2
Y
R1
X Z
T Y
Arm
X
Fig. 3. Wafer transfer robot The wafer transfer robot used to transfer semiconductor wafers to different places on a production line has 5 degree of freedom (5DOF) with two arms having two picks at the end of the arms to select wafers (Fig. 3). At present, the robot works in nominal acceleration and speed with high precision. The vibrations do not appear in any motion of the robot. Moreover, the robot can move in higher acceleration and speed, which can reduce working time and increase the productivity. The maximum speed, and therefore the maximum acceleration were increased two or three times (the acceleration time is kept, because
When the robot arm is expanded or contracted, the end of the robot arm moves following a straight line with controlled distance. In movement at high speed, the vibration occurs at in the end effecter. For robot arm, two types of velocity shape for end effecter such as trapezoidal shape and S-curve shape can be used. However, because vibration in S-curve input is more moderate than in the case of trapezoidal input, in this paper, input shaping with S-curve type is presented as an example of using the proposed tool. In order to keep the secret of the industry, the concrete numerical values are omitted in the results. For easy comparison with nominal condition, the vibration unit is normalized such as maximum vibration magnitude at nominal condition corresponds to one vibration unit.
Singhose et al. (1996). Therefore, in the case of present machine, the preshaped input that is generated by using vibration model of the end point can also suppress the vibration at the start point and also at other points in the movement path. Using the identified parameters, the preshaped input is generated and then applied to the robot system. The commanded input and the preshaped input are shown in Fig. 4. The vibration signals corresponding to commanded input and preshaped input are shown in Fig. 5. It can be seen that the vibration is significantly decreased. The maximum vibration magnitude is reduced from 54 units in case of commanded input (without preshaping) to 1 unit in case of preshaped input (with preshaping). 60
20 0 -20 -40 -60
The first step of using the proposed vibration suppression tool is to collect the data for identification of vibratory model. The experiment is done with the maximum acceleration is three times larger than the nominal maximum acceleration. To measure the vibration signal, a pick up sensor is attached on the end effecter. The identification results are as follows: multimode, N = 2, K1 = 2.93, K2 = 1.27, ω01 = 66.85(10.64[Hz]), ω02 = 78.61(12.51[Hz]), ζ1 = 0.03, ζ2 = 0.03. Acceleration
x 10 1 0 -1
Velocity
0 1000
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
500 0 0
Position
4
0
0.5
1 Time [s]
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
50
without preshape with preshape 0.05
0.1
0.15
0.2 0.25 Time [s]
0.3
0.35
0.4
Fig. 4. Commanded input and preshaped input for robot arm The above vibration model is determined at the end point in the movement of the robot, because suppression of vibration at this point is required for this robot. However, vibration suppression at other points is also hoped, because the vibration model may change according to robot’s position. Therefore, the vibration model at the start point is also determined. The identification results for the start point are as follows: single mode, N = 1, K1 = 1.72, ω01 = 62.83(10[Hz]), ζ1 = 0.04. It is found that the vibration model at the start point is similar to the first mode of the vibration model at the end point. Moreover, the preshaped input is robust with small model error, see
1.5
2
Fig. 5. Vibration signals corresponding to commanded input and preshaped input From the results of applying the proposed tool for movement of robot arm, it is found that the input generated by this tool can reduce vibration significantly. The move time is extended, but it is small (on the order of one cycle of vibration). In some applications, the move time of preshaped motion is required to be the same with commanded motion (without preshaping). This can be done as following steps, supposing that the move time is Tm : • Step 1: Calculate the move time Tw of new commanded input Tw = Tm −
100
0 0
without preshape with preshape
40 Position Vibration
of motor constrains). However, at increased accelerations and velocities, the vibrations appear at the end effecters of two robot arms. In order to eliminate the vibrations, the proposed vibration suppression tool is applied. In this paper, because of the similarity between two robot arms, the vibration suppression problem for one arm is presented.
N
Ti .
(18)
i=1
• Step 2: Establish new commanded input with move time is Tw . That increases the maximum values of acceleration and speed. • Step 3: Re-identify the vibration model with new commanded input (because model’s parameters are sometimes varied corresponding to the added input) and generate the preshaped input from the new commanded input. In some cases, the values of delayed time Ti in re-identify step are differ from that are used to calculate new move time in first step. The process should be repeated with new delayed values to get more precise calculation. 5.2 Time variant vibration suppression for a gantry loader Fig. 6 demonstrates the gantry loader including a arm that can carry works and move in a vertical plane. When the arm of a gantry loader is moved with high speed, the vibration may appear. Moreover, the vibration frequency may be changed according to the changing of arm length during movement.
Residual Vibration [mm] Residual Vibration [mm] Residual Vibration [mm]
Fig. 6. Gantry loader The identification results for the gantry loader used in this paper is as follows: single mode N = 1, Kt = 0.2, ζt = 0.03 and vibration frequency is a linear function of arm lenght varied from 3.95[Hz] to 4.93[Hz] (in case the arm carries 2 works).
Position [m]
Velovity [m/s]
Acceleration [m/s2]
The proposed tool for time variant vibratory system is used with parameters of the equivalent time invariant vibratory system is K0 = 0.2, ζ0 = 0.03, and ω0 = 24.82(3.95[Hz]). The time variant preshaped input is shown in Fig. 7 and the residual vibration comparison among three input including commanded input (without preshapping), time invariant preshaped input and time variant preshaped input is shown in Fig. 8. It is found that the time invariant input can reduce the vibration of the system. However, because of large model error (about 25%), the vibration still big. By using the time variant preshaped input, the vibration is reduced significantly, compared with both commanded input and time invariant preshaped input. 6 4 2 0 -2 -4 -6
0
1 Time [s]
2
0
1 Time [s]
2
1 Time [s]
2
1 0.5 0
1 0.5 0
0
Fig. 7. Time variant preshaped input 6. CONCLUSIONS AND FUTURE WORKS The tool we propose for identifying a vibratory system vibration model and generating new input from commanded input to reduce system vibration is simple, easy to use, and applicable to many industrial problems and
2 1 0 -1 -2
1.5
2 2.5 Time [s] a) Without preshaping
3
2 2.5 Time [s] b) With time invariant preshaping
3
2 1 0 -1 -2
1.5
2 1 0 -1 -2
1.5
2
2.5 Time [s] c) With time variant preshaping
3
Fig. 8. Residual vibration comparison among various inputs environment. It does not require extensive knowledge of control theory. Applying this tool to suppressing vibration in a wafer transfer robot and a gantry loader demonstrated the tool’s efficiency. Results of semi-conducter transfer is a joint work between Toyohashi University of Technology (TUT) and Synfonia Technology Co. Ltd. , and results of Gantry loader is a joint work between TUT and Kondou seisakusyo Co. Ltd. We plan to add other vibration techniques such as a hybrid shaped approach, see Yano et al. (2001), a reference governor, see Miyoshi et al. (2007), etc., to the tool to give users more choices and comparisons. We also plan to make the tool a stand-alone program and to communicate directly with machines. REFERENCES N. C. Singer and W. P. Seering, ”Preshaping Command Inputs to Reduce System Vibration”, Transactions of the ASME Journal of Dynamic Systems, Measurement and Control, Vol. 112 No.1, 1990, pp.76-82. J. M. Hyde and W. P. Seering, ”Using Input Command Pre-Shaping to Suppress Multiple Mode Vibration”, Proceedings of the 1991 IEEE International Conference on Robotics and Automation, Sacramento, CaliforniaApril 1991, pp. 2604-2609. W. E. Singhose, W. P. Seering and N. C. Singer, ”Input Shaping for Vibration Reduction with Specified Insensitivity to Modeling Errors”, Japan/USA Symposium on Flexible Automation, Vol. 1, ASME 1996, pp. 307-313. L. Collatz and W. Wetterling, ”Optimization Problems”, Applied Mathematical Sciences (Springer-Verlag New York Inc.), 1975. K. Yano, S. Higashikawa, K. Terashima, ”Liquid Container Transfer Control on 3D Transfer Path by Hybrid Shaped Approach”, Proceedings of the 2001 IEEE International Conference on Control Applications, September 5-7, 2001, Mexico, pp. 1168-1173. T. Miyoshi, Y. Noda, and K. Terashima, ”Feedforward Control Considering Input and States Constraints with Eliminating Residual Vibration”, Proceedings of the 2007 America Control Conference, July 11-13, 2007, USA, pp. 5005-5010.