3.1. Minimum-Time Solution with Actuator Limits
Before addressing the optimization of the residual vibrations, we first consider the minimum-time solution with only the actuator limits. The motion profile design should ensure that the terminal displacement at the end of the movement is equal to the target moving distance. Moreover, the kinematic values during motion should stay within the physical limits. Given the desired displacement (D) and the maximum allowable values of the velocity (Vmax), acceleration (Amax), and jerk (Jmax) imposed by the physical limitations of the actuators, the design constraint conditions are as follows: , , , .
To minimize the motion duration, it is necessary for machines to take full advantage of the kinematic limits and maintain the saturated state for as long as possible. However, there are mutual restrictions among the constraint conditions so that it is not always possible for the motion profile to reach all the limit values. Specifically, the acceleration limit may not be achieved due to the tight limit on the velocity or a short moving distance, while the velocity limit may be unreachable due to the short distance traveled. Consequently, the corresponding constant acceleration and velocity segments may disappear, resulting in a motion profile with fewer than seven segments under different constraint conditions. According to the included segments, the profile model can be classified into four specific types, as illustrated in
Figure 2 and
Figure 3.
By substituting the expressions of the peak kinematic values, the design constraints can be written as follows:
Note that the sinusoidal jerk segments must exist in the profile, enabling the jerk to consistently reach its limit value, namely,
and
T1 > 0,
T2 ≥ 0,
T3 ≥ 0. Hence, the optimal value of
T1 that does not violate any constraints is as follows:
If
, then
T1 is determined via the acceleration limit. The acceleration limit (
Amax) can be reached, namely,
; thus, we can continue to calculate
T2. The design constraints for
T2 are as follows:
Therefore, the optimal value of
T2 that does not violate any constraints is as follows:
Two cases are distinguished here: If
, then the moving distance is long enough for the motion profile to attain the velocity limit (
Vmax). The motion profile belongs to Type 1 in
Figure 2, with all seven segments present. Then, the time period for the constant velocity is calculated as follows:
otherwise, if
, then the moving distance falls short of reaching the velocity limit (
Vmax) within the motion profile. In this case, the motion profile belongs to Type 2, as shown in
Figure 3a, where the constant velocity segment disappears (i.e.,
T3 = 0). The peak velocity is determined using Equation (6) as
.
In addition, if
, this implies that
T1 is determined by the velocity limit. The motion profile is classified as Type 3, as shown in
Figure 3b. The constant acceleration segments vanish due to the tight limit on the velocity (i.e.,
T2 = 0), and
T3 can then be computed using Equation (14). The peak acceleration (
Apeak) is lower than its maximum allowable value (
Amax) and is obtained using
.
Finally, if
, then
T1 is determined by the required displacement. The motion profile belongs to Type 4, as shown in
Figure 3c, where only the sinusoidal jerk segments exist. Both the constant acceleration and velocity segments vanish due to the short moving distance (i.e.,
T2 = 0,
T3 = 0). The peak acceleration and velocity are calculated using Equations (4) and (6) as
.
The solutions for the four profile types, along with the corresponding evaluation conditions, are summarized in
Table 1.
3.2. Analysis of Vibration Characteristics
The algorithm in the last subsection yields the solution that minimizes the execution time with the actuator limits. However, the quantitative consideration of the vibration response relating to the system modes is not incorporated into the motion profile design. The performance improvement in practice therefore appears to be almost exclusively due to smoothing. To investigate the relationship between the profile parameters and the vibration response, consider the simplified model in
Figure 4, which includes a base, a mass (
m), a spring with stiffness (
k), and a damper (
c). The dynamics of the system are described by the following expression:
where
x is the absolute position of the base and
y is the relative position of the mass with respect to the base.
In this model, the base stands for the actuation system controlled by an input force, while the mass represents the mechanically linked structure that undergoes vibration. Thus,
x and
y serve as the reference input motion profile and dynamic response, respectively. Equation (15) can be written in Laplace form:
where
and
denote the undamped natural frequency and the damping ratio of the system, respectively. For a given reference input (
), the dynamic response of the system can be calculated via the convolutional integral
, where
is the impulse response of the system, obtained from the inverse Laplace transform of Equation (16). Therefore, the dynamic motion-induced vibration response with the motion profile
is derived as follows:
where
represents the damped natural frequency. For low-damped systems with
, the above expression is simplified as follows:
By substituting Equation (5) into Equation (18), one can obtain the residual-vibration response after the completion of motion:
After a series of mathematical operations involving integration by parts and the sum-to-product trigonometric identity, the above expression becomes the following:
In order to eliminate the residual vibrations, the amplitude of the residual-vibration response must equal zero. Hence, settling
yields the vibration suppression conditions:
Without a loss of generality, the initial time (
t0) is assumed to be zero. Let
represent the set of positive integers. Then, the solution of (21) can be found as follows:
where
is the vibration period of the system. According to the above analysis, if any one of the three conditions ((22), (23), or (24)) is satisfied, complete residual-vibration elimination can be achieved for an undamped system. Hereinafter, these conditions are denoted as C1, C2, and C3, respectively. Interestingly, although all of them result in a vibrationless stop, they display certain fundamentally distinct properties that impact the transient vibration during motion, as illustrated in
Figure 5. These properties will be clarified in the following paragraphs. In a similar way, the dynamic response during the constant acceleration segments
and
can be derived as follows:
and the dynamic response during the constant velocity segment
can be derived as follows:
Substituting (22) into (25)–(27) yields the following:
Equation (28) implies that satisfying C1 leads to zero vibrations during the constant acceleration segments and constant velocity segment (see
Figure 5a). The physical meaning of this condition is that the vibrations induced in the sinusoidal jerk segments are offset at the end of these segments (
t =
t1,
t3,
t5,
t7). Likewise, it can be observed that if C2 is satisfied, then the vibrations induced in the positive sinusoidal jerk segment
and the negative sinusoidal jerk segment
cancel each other out at the end of the acceleration phase (
t =
t3), ensuring no vibrations during the constant velocity segment (see
Figure 5b). In contrast, these properties are not present for C3. The vibration induced in the acceleration phase counteracts that in the deceleration phase, and only the residual vibration after the motion stops is suppressed (see
Figure 5c). Therefore, when a smooth transfer is required in the movement, condition C1 should be preferentially selected for parameter tuning. Unless otherwise specified, the scheme will choose the one that produces a shorter moving time.
Note that these conditions depend on the system parameter
and are thus influenced by the accuracy of the parameter estimation. In cases in which parameter estimation errors occur or vibration modes vary during motion, it is expected that the motion profile will remain robust against parameter variations. One solution is to prolong the motion time length, as it reduces both the frequency range and amplitudes of the acceleration profile. However, this would lead to much slower movement, which is undesirable in production. Alternatively, the robustness against system parameter uncertainties can be improved when the profile parameters satisfy multiple conditions from C1 to C3, which can be evaluated by taking partial derivatives of the vibration amplitude with respect to the estimated natural frequency. Particularly, if two of the vibration suppression conditions are satisfied for a given value of
, the following holds:
Thus, for a small estimation error (
), we have the following:
Equation (30) reveals that the residual-vibration amplitude is not only zero at
but is also approximately zero near
, which implies that the vibration is robustly mitigated even with a parameter estimation error to some extent. Similarly, if all three vibration suppression conditions are satisfied, then the insensitivity performance is further enhanced, as the following holds:
In fact, the first and second derivatives with respect to the nominal natural frequency represent, respectively, the gradient and curvature of the vibration amplitude evolution curve versus the estimated frequency. If both of these derivatives are equal to zero, then the vibrations remain limited within a broader frequency band, enabling the motion profile to effectively handle the system uncertainties typically encountered in practice. In what follows, the motion profiles that satisfy one, two, and three conditions are referred to as onefold, twofold, and threefold vibration mitigation, respectively. The robustness degrees for the three cases are defined as r = 1, 2, and 3, respectively. This degree can be specified by the user according to actual demands in applications.
From a spectral point of view, tuning the profile parameters essentially removes the frequency content of the input motion profile that is related to the resonances. When the vibration suppression conditions are met, the frequency spectrum of the reference acceleration profile exhibits zero magnitude at the resonant frequency, aligning with the system’s pole. As a matter of fact, a mechanical system functions as a filter that amplifies or diminishes the magnitudes of different harmonics based on its frequency response. The frequency contents near the resonances in the input are significantly amplified. To more clearly illustrate this point, we consider the expression of the acceleration profile
a(
t) in (5) in the Laplace domain:
Thus, the frequency spectrum of the acceleration profile can be deduced as follows:
Note that if any one of the conditions C1, C2, or C3 is satisfied,
is equal to zero at
.
Figure 6 gives an example of the acceleration spectra before and after parameter optimization. It can be observed that the contributions of the proposed sinusoidal jerk profile to vibration reduction are twofold: On the one hand, the smoothness of the profile induces a low-pass filtering effect, causing high-frequency components to attenuate rapidly. On the other hand, the optimization of the profile parameters further eliminates frequency contents in the resonant mode that can excite vibrations. As a result, the resonant mode can be effectively mitigated, successfully preventing the excitation of undesirable vibrations.
3.3. Optimization Process for Vibration Suppression
From condition C1 to C3, the solutions for vibration cancellation are clearly infinite in number, as the values of k1, k2, and k3 can take any positive integer. Furthermore, the actuator limits represented by the Vmax, Amax, and Jmax should be strictly adhered to for practical feasibility. To generate fast and smooth movements with low vibrations, it is crucial to find the optimal values of T1, T2, and T3 that minimize the motion duration under the actuator limits while satisfying the design constraints of vibration suppression and robustness.
Algorithm 1 provides the parameter optimization procedure for the time–frequency-optimal motion profile. First, the parameters for a minimum-time motion profile with actuator limits are obtained using the formulas described in
Section 3.1. Subsequently, these parameters are adjusted to accommodate the vibration characteristics. The number of vibration suppression conditions to be satisfied depends on the desired degree of robustness (
r). It is worth noting that the selection of the vibration suppression conditions also impacts the motion duration. In essence, the parameters tuned in these conditions are
t1,
t2, and
t4, and the total motion duration can be expressed as
Tf =
t1 +
t2 +
t4. Given that the original profile is time-optimal under physical limits, the parameters after modulation, in accordance with the selected conditions, should not be smaller than their original values in order to maintain respect for the physical limits. Tuning different parameters would result in varying time prolongations. Therefore, when selecting the vibration suppression conditions, the objective should be to minimize this prolongation. In addition, for the realization of the motion profile,
t1 > 0,
t2 ≥
t1 and
t4 ≥
t1 +
t2 must be fulfilled based on the pre-conditions
T1 > 0,
T2 ≥ 0,
T3 ≥ 0. Clearly, if
r is set to 1 or 2, then there are three possible choice options: if
r = 1, then we can choose C1, C2, or C3; if
r = 2, then we can choose (C1, C2), (C1, C3), or (C2, C3); if
r = 3, then only one choice (C1, C2, C3) is available. We use a vector (
C) to represent the selection made, where the conditions that are selected are marked as 1 and the conditions that are not selected are marked as 0. For instance, if only C1 is selected to be satisfied, then
C = [1 0 0]. The set of possible options is denoted as S.
Algorithm 1: Optimization of profile parameters |
Input: moving distance D, actuator limits Vmax, Amax, Jmax, vibration period Td, robustness degree r |
Output: optimal profile parameters , , , |
1: | Start |
2: | Compute the minimum time solution according to Table 1 |
3: | if r = 1 |
4: | S = {[1 0 0], [0 1 0], [0 0 1]}; l = 3 |
5: | else if r = 2 |
6: | S = {[1 1 0], [1, 0, 1], [0, 1, 1]}; l = 3 |
7: | else |
8: | S = {[1 1 1]}; l = 1 |
9: | end if |
10: | for i = 1 to l do |
11: | C = S{i} |
12: | Modulate , and using Equations (34)–(36) |
13: | Compute the total execution time |
14: | end for |
15: | find C = S{i} ∈ S that minimizes Tf |
16: | Compute the optimal parameters , , , |
17: | end |
In order to draw a distinction from the initial minimum-time solution, the caret symbol (^) is added to indicate the variables associated with the final time–frequency-optimal motion profile. Thus, for a specific
C, the parameters are modulated as follows:
where ceil(·) rounds a number up to the nearest integer greater than or equal to the given argument, and max(·) returns the largest element among a collection of input values. This modulation ensures both the suppression of the residual vibration and the minimization of the introduced time delay without violating any constraints. The conformity to the actuator limits is always ensured, as the values of the parameters
,
, and
after modulation are not smaller than their initial values computed in
Table 1. This is evident from the relationship between these parameters and the peak kinematic values:
All possible options in S should be computed to find the optimal selection C that minimizes the total motion duration. Finally, once the optimal values of , , and are obtained, the time parameters , , and are computed via , , and , respectively.
So far, a closed-form solution for the optimal sinusoidal jerk profile has been derived. The optimized motion profile minimizes the execution time to achieve fast movement while considering the actuator capacities, vibration cancelation, and robustness constraints.
The final implementation procedure for practical applications of the developed methodology is as follows: (1) user: definition of the desired displacement and physical limits according to the machine specifications and task requirements; (2) host computer: computation of the optimal profile parameters through computing tools such as Matlab or Python and the generation of the motion profile; (3) machine controller: reception of the motion profile data from the host computer and their transfer to driving commands; (4) driver: execution of the motion profile according to the driving commands sent by the controller.