2.1 Design of Input Shaper
Previous studies have shown that the dynamic behavior of a high-speed parallel robot is dominated by the elasticity of the actuated joint. Therefore, the robot can be simplified to a system with a finite number of flexible-body degrees of freedom. Without loss of generality, the dynamic model of a parallel robot with f rigid-body and n vibrational degrees of freedom (here \(f = n\), which equals the number of degrees of freedom of the parallel robot) can be formulated as
$$\user2{M\ddot{x}} + \user2{C\dot{x}} + {\varvec{Kx}} = {\varvec{Kx}}_{r} + {\varvec{d}}\left( {{\varvec{x}}_{r} ,\;\dot{\user2{x}}_{r} } \right),$$
(1)
where \({\varvec{M}}\), \({\varvec{C}}\), and \({\varvec{K}}\) are the inertia, damping, and stiffness matrices, respectively; \({\varvec{d}}\left( {{\varvec{x}}_{r} ,\;\dot{\user2{x}}_{r} } \right)\) is a disturbance term; and \({\varvec{x}} = {\varvec{x}}_{r} + {\varvec{x}}_{f}\), in which \({\varvec{x}}_{r}\) and \({\varvec{x}}_{f}\) denote the rigid-body and elastic generalized displacements, respectively.
The first f rigid-body displacements in \({\varvec{x}}_{r}\) are set as the rigid-body displacements that correspond to the reference input of the actuated joints and denoted as \({\varvec{x}}_{r}^{Input}\). By dropping the disturbance term and taking the Laplace transform of both sides of the linearized dynamic model for a given configuration of the parallel robot, Eq. (1) can be rewritten as
$$\left( {s^{2} {\varvec{M}} + s{\varvec{C}} + {\varvec{K}}} \right){\varvec{X}}\left( s \right) = {\varvec{KX}}_{r} \left( s \right),$$
(2)
where \({\varvec{X}}\left( s \right)\) and \({\varvec{X}}_{r} \left( s \right)\) are the Laplace transform of \({\varvec{x}}\) and \({\varvec{x}}_{r}\), respectively.
Because of the orthogonality of the natural vibration modes, \({\varvec{M}}\), \({\varvec{C}}\), and \({\varvec{K}}\) can be expressed as
$$\left\{ \begin{aligned} {\varvec{M}} = & {{\varvec{\varPhi}}}^{{ - {\text{T}}}} {{\varvec{\varPhi}}}^{ - 1} ,\;{\varvec{K}} = {{\varvec{\varPhi}}}^{{ - {\text{T}}}} {\text{diag}}\left[ {\omega_{i}^{2} } \right]{{\varvec{\varPhi}}}^{{ - {1}}} , \\ {\varvec{C}} = & {{\varvec{\varPhi}}}^{{ - {\text{T}}}} {\text{diag}}\left[ {2\zeta_{i} \omega_{i} } \right]{{\varvec{\varPhi}}}^{ - 1} , \\ \end{aligned} \right.$$
(3)
where \(\omega_{i}\) and \(\zeta_{i}\) are the natural angular frequency and damping ratio of the ith mode, respectively; \({\varvec{\varPhi}}= \left[ {\begin{array}{*{20}c} {{\varvec{\phi}}_{1} } & {{\varvec{\phi}}_{2} } & \cdots & {{\varvec{\phi}}_{n} } \\ \end{array} } \right]\) is the modal matrix; and \({\varvec{\phi}}_{i}\) is the modal vector of the ith mode.
Substituting Eq. (3) into Eq. (2), the transfer function matrix can be obtained as
$$\begin{aligned} {\varvec{G}}\left( s \right) = & \frac{{{\varvec{X}}\left( s \right)}}{{{\varvec{X}}_{r} \left( s \right)}} ={\varvec{\varPhi}}\left( {{\text{diag}}\left[ {\frac{{\omega_{i}^{2} }}{{s^{2} + 2\zeta_{i} \omega_{i} s + \omega_{i}^{2} }}} \right]} \right){\varvec{\varPsi}}^{{\text{T}}} \\ = & \sum\limits_{i = 1}^{n} {\frac{{\omega_{i}^{2} {\varvec{\phi}}_{i} {\varvec{\psi}}_{i}^{{\text{T}}} }}{{s^{2} + 2\zeta_{i} \omega_{i} s + \omega_{i}^{2} }}} \approx \sum\limits_{i = 1}^{N} {\frac{{\omega_{i}^{2} {\varvec{\phi}}_{i} {\varvec{\psi}}_{i}^{{\text{T}}} }}{{s^{2} + 2\zeta_{i} \omega_{i} s + \omega_{i}^{2} }},} \\ \end{aligned}$$
(4)
where \({\varvec{\varPsi}}={\varvec{\varPhi}}^{{ - {\text{T}}}} \, = \left[ {\begin{array}{*{20}c} {{\varvec{\varPsi}}_{1} } & {{\varvec{\varPsi}}_{2} } & \cdots & {{\varvec{\varPsi}}_{n} } \\ \end{array} } \right]\) and \(N \le n\) denotes the truncated lower-order modes.
The residual vibrations of the robot are superpositions of the free damping vibrations of each mode. The element in the jth row and pth column of the transfer matrix is the transfer function between the reference input \(x_{rj}^{Input}\) of the jth actuated joint and pth output displacement. Because the transfer functions have the same poles, the input commands of the parallel robot can be shaped using the same shaper. The shaped command \(x_{rsj}^{Input} \left( t \right)\) can be obtained as the input sequence
$$x_{rsj}^{Input} \left( t \right) = \sum\limits_{q = 1}^{m} {A_{q} x_{rj}^{Input} \left( {t - t_{q} } \right){\mathbf{1}}\left\langle {t - t_{q} } \right\rangle } ,\,j = 1,\;2,\; \cdots ,\;f,$$
(5)
where \(A_{q}\) and \(t_{q}\) are the amplitude and time lag of the qth impulse, respectively; and \({\mathbf{1}}\left\langle {t - t_{q} } \right\rangle { = }1\) at \(t > t_{q}\), \({\mathbf{1}}\left\langle {t - t_{q} } \right\rangle { = }0\) at \(t \le t_{q}\).
2.2 Optimization Problem
High-speed pick-and-place robots generally have stringent response-time requirements. To improve the robustness of the shaper without increasing the time lag, it is necessary to balance the tradeoff between the vibration reduction efficiency and the bandwidth of the input shaper. The sensitivity levels of ZV, ZVD, and EI are uniquely determined by the constraints. They are hence not suitable for handling the wide variation ranges in the natural frequencies of parallel robots in their workspace. In this study, an optimal input shaping approach is used to realize the vibration reduction of high-speed pick-and-place parallel robots throughout the entire workspace. The residual vibrations of high-speed pick-and-place parallel robot are dominated by the first-order mode. Therefore, the design of the input shaper is consistent with that of a linear system with a single degree of freedom. Using optimal control theory, an optimal input shaper [27] with three impulses is designed with the following parameters:
$$\left\{ \begin{aligned} A_{1} = & \frac{1}{M},\;A_{2} = - \frac{{2\exp \left( { - \zeta_{{{\text{des}}}} \omega_{{{\text{des}}}} T} \right)\cos \left( {\omega_{{d,{\text{des}}}} T} \right)}}{M}, \\ A_{3} = & \frac{{\exp \left( { - 2\zeta_{{{\text{des}}}} \omega_{{{\text{des}}}} T} \right)}}{M},\;t_{1} = 0,\;t_{2} = T,\;t_{3} = 2T, \\ \end{aligned} \right.$$
(6)
where \(M = 1 - 2\exp \left( { - \zeta_{{{\text{des}}}} \omega_{{{\text{des}}}} T} \right)\cos \left( {\omega_{{d,{\text{des}}}} T} \right) + \exp \left( { - 2\zeta_{{{\text{des}}}} \omega_{{{\text{des}}}} T} \right)\); \(T = {{k_{T} T_{d} } \mathord{\left/ {\vphantom {{k_{T} T_{d} } 2}} \right. \kern-\nulldelimiterspace} 2}\) is the time lag of the impulse sequence, \(0 \le k_{T} \le 1\); \(\omega_{{d,{\text{des}}}} = \omega_{{{\text{des}}}} \sqrt {1 - \zeta_{{{\text{des}}}}^{2} }\) in which \(\omega_{{{\text{des}}}} { = }2\uppi f_{{{\text{des}}}}\), and \(f_{{{\text{des}}}}\) and \(\zeta_{{{\text{des}}}}\) are the designed natural frequency and damping ratio of the input shaper, respectively; and \(T_{d} = {{2\uppi } \mathord{\left/ {\vphantom {{2\uppi } {\omega_{d,1} }}} \right. \kern-\nulldelimiterspace} {\omega_{d,1} }}\), in which \(\omega_{d,1} = \omega_{1} \sqrt {1 - \zeta_{1}^{2} }\).
The amplitude of the residual vibration after applying the last impulse, that is, the percentage of residual vibration, can be expressed as Eq. (7) [28].
$$\left\{ \begin{aligned} V\left( {\omega_{1} ,\;\zeta_{1} } \right) = & \exp \left( { - \zeta \omega_{1} t_{3} } \right)\sqrt {C\left( {\omega_{1} ,\;\zeta_{1} } \right)^{2} + S\left( {\omega_{1} ,\;\zeta_{1} } \right)^{2} } , \\ C\left( {\omega_{1} ,\;\zeta_{1} } \right){ = } & \sum\limits_{q = 1}^{3} {A_{q} \exp \left( {\zeta \omega_{1} t_{q} } \right)\cos \omega_{d,1} t_{q} ,} \\ S\left( {\omega_{1} ,\;\zeta_{1} } \right){ = } & \sum\limits_{q = 1}^{3} {A_{q} \exp \left( {\zeta \omega_{1} t_{q} } \right)\sin \omega_{d,1} t_{q} .} \\ \end{aligned} \right.$$
(7)
Therefore, the design of the optimal input shaper for high-speed pick-and-place parallel robots can be transformed into the closely related problem of the determination of a suitable natural frequency \(f_{{{\text{des}}}}\), damping ratio \(\zeta_{{{\text{des}}}}\), and time lag coefficient \(k_{T}\) to minimize the residual vibration \(V\) throughout the workspace. To address the difficulties posed by the wide variation of the natural frequencies in the workspace, a suitable constant natural frequency should be selected; otherwise, a large sensitivity would lead to a very slow input shaper. To ensure the overall performance of the input shaper throughout the workspace \(W_{t}\), two performance objectives were established as follows.
-
(1)
Minimization of the maximum residual vibration percentage of the end-effector throughout the workspace, that is, \(V_{\max } \to \min\). The optimization problem can be formulated as
$$\begin{aligned} & & & \min \;\mathop {\max }\limits_{{\left( {\omega_{1} ,\;\zeta_{1} } \right) \in W_{t} }} V\left( {\omega_{1} ,\;\zeta_{1} } \right), \\ & & & {\text{st}}{.}\;f_{\min } \le f_{{{\text{des}}}} \le f_{{{\text{m}} {\text{ax}}}} ,\;\zeta_{\min } \le \zeta_{{{\text{des}}}} \le \zeta_{{{\text{m}} {\text{ax}}}} , \\ \end{aligned}$$
(8)
where \(f_{\min }\) (\(\zeta_{\min }\)) and \(f_{{{\text{m}} {\text{ax}}}}\) (\(\zeta_{{{\text{m}} {\text{ax}}}}\)) are the minimum and maximum natural frequencies (damping ratios) of the parallel robot in the workspace, respectively.
-
(2)
Minimization of the average residual vibration percentage of the end-effector throughout the workspace, that is, \(V_{{{\text{mean}}}} \to \min\). The optimization problem can be formulated as:
$$\begin{aligned} & \min \;{{\int_{{W_{t} }} {V\left( {\omega_{1} ,\;\zeta_{1} } \right){\text{d}}W_{t} } } \mathord{\left/ {\vphantom {{\int_{{W_{t} }} {V\left( {\omega_{1} ,\;\zeta_{1} } \right){\text{d}}W_{t} } } {\int_{{W_{t} }} {{\text{d}}W_{t} } }}} \right. \kern-\nulldelimiterspace} {\int_{{W_{t} }} {{\text{d}}W_{t} } }}, \\ & {\text{st}}{.}\;f_{\min } \le f_{{{\text{des}}}} \le f_{{{\text{m}} {\text{ax}}}} ,\;\zeta_{\min } \le \zeta_{{{\text{des}}}} \le \zeta_{{{\text{m}} {\text{ax}}}} , \\ \end{aligned}$$
(9)
The resulting optimization problems can be easily solved by, for example, calling the fmincon function in the MATLAB Optimization Toolbox.
In practice, high-speed pick-and-place parallel robots are time-varying systems during pick-and-place operations, and the solution of the vibration amplitude is very time-consuming. Therefore, the residual vibration percentage is not an efficient index for measuring the effectiveness of an input shaper for a parallel robot. In this study, the effectiveness of the input shaper throughout the workspace was evaluated by using the residual energy index introduced in Ref. [9]:
$$\left\{ \begin{aligned} E\left( t \right) & = \frac{1}{2}\dot{\user2{x}}_{f}^{{\text{T}}} \user2{M\dot{x}}_{f} + \frac{1}{2}{\varvec{x}}_{f}^{{\text{T}}} {\varvec{Kx}}_{f} , \\ V_{e} = & {{E_{s} \left( {t_{s} } \right)} \mathord{\left/ {\vphantom {{E_{s} \left( {t_{s} } \right)} {E_{u} \left( {t_{s} } \right),}}} \right. \kern-\nulldelimiterspace} {E_{u} \left( {t_{s} } \right),}} \\ \end{aligned} \right.$$
(10)
where \(E\left( t \right)\) is the total residual energy of the vibratory modes, \(E_{u}\) and \(E_{s}\) are the residual energies upon completion of the unshaped and shaped commands, respectively, and \(t_{s}\) is the time required to complete the shaped command.