1 Introduction

The minimization of energy consumption in manufacturing and industrial processes is becoming an important objective of an engineering design process [1,2,3]. Indeed, in the recent years, topics such as environmental issues as well as increase of energetic costs have driven politics and public opinion to take solid and challenging actions toward a more sustainable production [4]. The European Union has committed itself to bind a target of saving 20% of primary energy consumption (in reference to 2007 consumption) by 2020 [5]. This policy has been then extended and a new binding energy efficiency target of 30% energy savings until 2030 for the European Union has been subscribed [6].

The more attention on this topic can be demonstrated by the increasing number of published works in this area, as reviewed in [7] where different methods and technologies for enhancing the energy performance of mechatronic systems have been classified in three main categories: hardware, software, and mixed approaches.

The hardware approaches consider the modification of parts of existing systems or the design of new ones to create more energy-efficient mechatronic devices. In particular, the availability of new lighter and strength materials makes possible the design of lighter robotic arms [8,9,10,11] and components [12, 13]. Lightweight structures are as well obtained by reducing the moving masses: actuators are moved next to the robot base and the motion is transmitted through a system of pulleys and timing belts [14, 15]. Hardware approaches include also technologies for increasing the components efficiency [16], and for implementing energy recovery [17, 18] and distribution strategies [19]. These allow for new scenarios of reduced energy consumption and therefore less environmental impact.

The software approach, conversely, carries out the energy consumption reduction by optimizing the motion planning phase as well as scheduling the operations. Machines and robots are often operated to maximize production outputs (i.e., minimization of time); this causes both high energy losses at high velocities and surpluses in deceleration. Therefore, the speed motion profile in a PTP operation can be changed [20,21,22,23,24,25,26] as well as the path profile in a multi-point trajectory [27, 28] in order to use less energy. In literature, focusing only on PTP motions, several works dealing with the optimization and comparison between different PTP trajectory profiles, from the most common in industrial application such as the trapezoidal speed profile [29, 30] to more complex ones [20,21,22], can be found. Richiedei et al. [21] propose an analytical method to improve the energy efficiency of 1-DoF constant inertia systems, by selecting both the best motion law for the application and the optimum cycle time. In [23], the PTP trajectory planning of the excavating process of a large cable shovel has been considered: polynomial curves of different degrees have been numerically optimized to reduce the energy consumption per volume unit of dig material and compared in terms of excavating performance with the conventional S-curve. Liu et al. [26] propose a trajectory planning optimization strategy, based on 4-3-3-4 degree polynomial interpolation, for Delta 3 robot performing high-speed handling operations. In [24], the kinematic redundancy is exploited as a tool to enhance the energetic performance of a robotic cell, while Ayten et al. [25] consider two PTP trajectory optimization methods for redundant/hyper-redundant manipulators. The first method considers the kinematic and dynamic constraints in a sequential manner to avoid running the inverse dynamics, while in the second one a new concept of virtual link is introduced to replace the redundant links and eliminate the impossible configurations before running the inverse dynamic model.

Finally, the mixed approach considers hardware and software modifications of the mechatronic system working in synergy. This is the case of trajectory optimization in systems equipped with regenerative drives to maximize the energy regenerated and stored in the capacitors [31, 32]. Further methods use compliant elements inserted, in parallel or in series, to the actuators, in combination with a proper trajectory optimization to exploit the free vibration response of the system performing cyclic tasks [33,34,35,36]. Scalera et al. in [37] present a detailed review of these methods.

This work focuses on the study of the energy consumption and minimization of a generic 1-DoF mechatronic system moving a constant inertia load (e.g., elevators, cranes, CNC machines, Cartesian axis) possibly equipped or retrofitted with regenerative devices (i.e., mixed approach). As a matter of fact, these kinds of systems cover a wide range of applications in production, packaging, and logistic plants.

Although the motion planning optimization to increase the energy efficiency of such a systems is common in literature, few works (e.g., [21,22,23]) address the problem from an analytical point of view. Following this approach would represent a clear advantage allowing to obtain the solution in a quick and direct way relying only on the knowledge of few system physical parameters. In particular, this would be important for an implementation of the method in an embedded mechatronic system (e.g., motor servo drive), where the computational power is generally limited. With this idea in mind, in this work, different PTP trajectory profiles have been investigated including both motion primitives commonly used in industrial motor drives (e.g., trapezoidal speed profile and double-S profile) and more complex ones (e.g., cycloidal and polynomial profiles). In particular, the developed approach considers the analytical minimization of the energy for all the considered PTP trajectory profiles, thus deriving closed-form solutions. In addition to other similar works, beyond of considering different motion primitives and optimizing the time required to execute a task, this method analyzes and optimizes also the shape of the motion profile (i.e., non-symmetrical profile with non-fixed acceleration and deceleration times are considered). Moreover, an experimental validation of the method has been carried out.

The paper is organized as follows: in Section 2, the model of the 1-DoF generic mechatronic system is presented; it is then exploited in Section 3 to derive the generic formulation of the energy consumption, independent from the motion profile. Afterward, in Section 4, the mathematical definition of all the considered trajectories is derived and substituted into the energy formulation to obtain the consumed energy for each motion profile as well as the optimum solution that minimizes the energy consumption in closed-form (Section 5). After that, in Section 6, the different trajectories are compared and evaluated. Finally, numerical and experimental analysis and validation are reported in Sections 7 and 8.

2 Mechatronic system model

The methods presented in this work are meant to be applied on a generic 1-DoF mechatronic system moving a constant inertia load. In Fig. 1, an example of a possible application, e.g., a Cartesian robot axis, is shown: an electric motor (e.g., DC motor or permanent magnet synchronous motor — PMSM) moves a payload on an inclined plane (by an angle 𝜗) over a distance L, by means of a toothed belt with a reduction ratio equal to τ. The model takes into account the load inertia, the system Coulomb, and viscous frictions, as well as the resistive losses in the motor windings. Motor iron losses and stray losses are not directly taken into account by the model. Anyway, as stated in [21], they can be fictitiously included by increasing the viscous friction and the motor resistance terms, respectively. Whereas, motor inductance here is not considered since in a point-to-point motion, no dissipation occurs through it [21].

Fig. 1
figure 1

Model of the mechatronic system under evaluation

This test-case has been chosen for the derivation and validation of the developed methods. However, there is no loss of generality as methods can be easily adapted to any 1-DoF mechatronic systems with a constant inertia load.

The motor torque Tm needed to move the payload is then described by the following:

$$ \frac{T_{m}(t)}{\tau} = \left( \frac{j_{m}}{\tau^{2}} + m\right) a_{l}(t) + D v_{l}(t) + m g \sin\vartheta + F_{c} $$
(1)

where al(t) and vl(t) are the load acceleration and velocity, respectively, jm the motor moment of inertia, m the load mass, g = 9.81m/s2 the gravitational acceleration, D the viscous friction coefficient, and Fc the dynamic friction. Therefore, the instantaneous current and voltage in the motor phase are:

$$ i(t)=\frac{T_{m}(t)}{K_{t}} = b_{1} + b_{2} v_{l}(t) + b_{3} a_{l}(t) $$
(2)
$$ e(t)= R i(t)+ \frac{K_{e}}{\tau} v_{l}(t) = b_{4} + b_{5} v_{l}(t) + b_{6} a_{l}(t) $$
(3)

where R is the motor winding resistance, Kt the motor torque constant, Ke the motor back-EMF constant, and the terms bi are defined as:

$$ \begin{array}{lcl} b_{1} = \left( m g \sin\vartheta + F_{c} \right) \frac{\tau}{K_{t}} &\qquad& b_{4} = R b_{1} \\ b_{2} = D \frac{\tau}{K_{t}} &\qquad& b_{5} = R b_{2} + \frac{K_{e}}{\tau} \\ b_{3} = \left( \frac{j_{m}}{\tau} + m \tau \right) \frac{1}{K_{t}} &\qquad& b_{6} = R b_{3} \end{array} $$
(4)

The system consumed energy, less the recovered braking energy, is then calculated by integrating the instantaneous power P(t) = e(t)i(t) over the time period T:

$$ E = {{\int}_{0}^{T}} P(t) dt = {{\int}_{0}^{T}} e(t) i(t) dt $$
(5)

In this work, it is assumed that the system is equipped with a regenerative device able to recover all the braking energy net of joule effect losses (i.e., super-capacitor with negligible losses).

3 Energy formulation

By substituting Eqs. 2 and 3 into Eq. 5, it holds:

$$ \begin{array}{@{}rcl@{}} E\!&=&\! b_{1} b_{4} T + \left( b_{1} b_{5} + b_{2} b_{4}\right) {{\int}_{0}^{T}} v_{l}(t) dt + b_{2} b_{5} {{\int}_{0}^{T}} v_{l}(t)^{2} dt \\ &&\!+ \left( b_{1} b_{6} + b_{3} b_{4}\right) {{\int}_{0}^{T}} a_{l}(t) dt + b_{3} b_{6}{{\int}_{0}^{T}} a_{l}(t)^{2} dt \\ &&\!+ \left( b_{2} b_{6} + b_{3} b_{5}\right) {{\int}_{0}^{T}} a_{l}(t) v_{l}(t) dt \end{array} $$

Being the initial and final motion conditions known (i.e., v(0) = 0, v(T) = 0, s(0) = 0, and s(T) = L), the following results apply:

$$ {{\int}_{0}^{T}} a_{l}(t) dt = 0 \qquad \qquad {{\int}_{0}^{T}} v_{l}(t) dt = L $$

Moreover, by integrating by parts the mixed term, it holds that:

$$ {{\int}_{0}^{T}} a_{l}(t) v_{l}(t) dt = \left. \frac{v_{l}(t)^{2}}{2} \right|_{0}^{T} = 0. $$

The final formulation of the energy equation becomes:

$$ E = b_{1} b_{4} T + \left( b_{1} b_{5} + b_{2} b_{4}\right) L + b_{2} b_{5} \omega + b_{3} b_{6} \alpha $$
(6)

where \(\alpha ={{\int \limits }_{0}^{T}} a_{l}(t)^{2} dt\) and \(\omega ={{\int \limits }_{0}^{T}} v_{l}(t)^{2} dt\). More in details, four terms contribute to Eq. 6:

  • A term, b1b4T, that linearly increases with the cycle time T by a factor mainly dependent on the system load (i.e., with a longer cycle time, the motor has to counteract the friction and the gravity, adsorbing current and generating heat for longer).

  • A constant term, \(\left (b_{1} b_{5} + b_{2} b_{4}\right ) L\), that depends only on system parameters and path length.

  • Two motion-dependent terms, α and ω, on which the choice of the trajectory profile and the motion primitive has effect.

As it will be shown in the next sections, this last consideration can be helpful in the energy expenditure evaluation for a PTP motion.

4 PTP industrial trajectory profiles

In a PTP pick&place task, where only the initial and final points are fixed, different trajectory profiles can be chosen. Usually, industrial motor drives implement a trapezoidal speed profile (trap) thanks to its simplicity and capability to reach low task cycle time. It is made of three motion phases (Fig. 2a), i.e., constant acceleration, constant speed, and constant deceleration. One of the main drawbacks of this motion profile regards the acceleration and deceleration phases in which the jerk reaches ideally an infinite value [38]. To avoid such a problem, modern motor drives implement a double-S or 7-segments motion profile (2s). It consists of 7 time blends (Fig. 2b), where the maximum acceleration and deceleration are gradually reached in order to have a finite jerk value. Motor drives rarely show the option to select other motion profiles and, among these, the cycloidal-S and polynomial profiles are here selected and considered. The cycloidal-S profile (cycl), shown in Fig. 2c, can be considered an evolution of the previous ones and it is characterized by an initial acceleration and a final deceleration phase with a cycloidal profile that leads to finite jerk values, whereas the central phase is at constant speed.

Fig. 2
figure 2

Trajectory profiles: a trapezoidal speed profile, b double-S profile, c cycloidal-S profile, d 3rd-order polynomial profile, e 5th-order polynomial profile (continue line) and 5th-order polynomial profile with acceleration conditions (dashed line), and f 7th-order polynomial profile

Concerning the polynomial primitives, the 3rd- (poly3), 5th- (poly5), and 7th (poly7)-order ones (Fig. 2d, e, and f, respectively) have been considered.

In Appendix A.1, the equations that define the displacement s(t), velocity v(t), and acceleration a(t) profiles of all the considered motion primitives are reported.

5 Energy computation and minimization

Starting from Eq. 6, the energy formulation for each of the different trajectory profiles is obtained by computing and substituting the integral terms α and ω reported in Table 1. This allows evaluating the minimum energy conditions for the different trajectory profiles, compare them, and, eventually, have a closed-form solution for the problem.

Table 1 Trajectory profiles integral terms

5.1 Trapezoidal speed, cycloidal-S, and double-S profiles

In the case of trapezoidal speed, cycloidal-S, and double-S trajectory primitives, the acceleration t1 and the deceleration t3 times as well as the total cycle T time have been selected as optimization parameters.

The time blends tja and tjd in the double-S profile (Fig. 2b), instead, have not been considered. In fact, it can be demonstrated (Appendix A.2) that they have to be zero to minimize the consumed energy (i.e., the profile degenerates in a trapezoidal speed one). Consequently, in this work, the fixed values tja = t1/3 and tjd = t3/3 have been used. Therefore, from now on, “2s” will refer to the double-S trajectory with such as assumptions.

Two different optimization cases with practical application have been then studied:

  • 1st case: t1 and t3 optimized and T fixed;

  • 2nd case: t1, t3 and T optimized.

Starting from the analytic definition of the energy Eq. 6 and considering the optimization parameters, the stationary points (i.e., minima or maxima of the function) are determined by looking at all the points in which the energy gradient is null, thus:

$$ \nabla E = \left\{ \begin{array}{ll} &\displaystyle\frac{\partial E}{\partial t_{1}} = b_{2} b_{5} \frac{\partial \omega}{\partial t_{1}} + b_{3} b_{6} \frac{\partial \alpha}{\partial t_{1}} = 0\\ &\displaystyle\frac{\partial E}{\partial t_{3}} = b_{2} b_{5} \frac{\partial \omega}{\partial t_{3}} + b_{3} b_{6} \frac{\partial \alpha}{\partial t_{3}} = 0\\ &\displaystyle\frac{\partial E}{\partial T} = b_{1} b_{4} + b_{2} b_{5} \frac{\partial \omega}{\partial T} + b_{3} b_{6} \frac{\partial \alpha}{\partial T} = 0 \end{array} \right. $$
(7)

where the partial derivatives of the terms α and ω that depend on the specific motion primitive assume the values reported in Table 2.

Table 2 Gradient partial derivatives

To determine whether the zeros of the functions correspond to local maxima or minima, the Hessian matrix should be considered. However, its computation is not here necessary since from Eq. 6 it could be seen that the function is convex and it has only a point of minimum since all the terms are positive.

5.1.1 First optimization case (t 1 and t 3 optimized, T fixed)

A closed-form solution is here found by considering the first two equations of the system (Eq. 7). Firstly, subtracting the second equation to the first:

$$ b_{2} b_{5} \left( \frac{\partial \omega}{\partial t_{1}}-\frac{\partial \omega}{\partial t_{3}}\right) + b_{3} b_{6} \left( \frac{\partial \alpha}{\partial t_{1}}-\frac{\partial \alpha}{\partial t_{3}}\right) = 0 $$
(8)

and substituting the terms in Table 2, after some simplifications, and whatever motion primitive is considered (i.e., trapezoidal speed, cycloidal-S, or double-S profile), the following equation is obtained:

$$ \left( {t_{1}}^{2} - {t_{3}}^{2} \right) \left( 2T - t_{1} - t_{3} \right) = 0 $$
(9)

Since 2Tt1t3 is always positive, the condition is satisfied only when t1 = t3. Therefore, the solution is determined by the first equation of system (Eq. 7), where t3 = t1 and where the terms in Table 2 are substituted. After some simplifications, third-order equations can be obtained for the three trajectory profiles:

$$ trap: -2 {t_{1}}^{3} + T {t_{1}}^{2} + \frac{9 b_{3} b_{6}}{b_{2} b_{5}} t_{1} - \frac{3 b_{3} b_{6} T}{b_{2} b_{5}} = 0 $$
(10)
$$ cycl: -5 {t_{1}}^{3} + 3 T{t_{1}}^{2} + \frac{3 \pi^{2} b_{3} b_{6}}{b_{2} b_{5}} t_{1} - \frac{\pi^{2} b_{3} b_{6} T}{b_{2} b_{5}} = 0 $$
(11)
$$ 2s: -449{t_{1}}^{3} + 271 T{t_{1}}^{2} + \frac{2700 b_{3} b_{6}}{b_{2} b_{5}} t_{1} - \frac{900 b_{3} b_{6} T}{b_{2} b_{5}} = 0 $$
(12)

and an explicit solution can be found.

An effective way to study the energy behavior is to introduce and evaluate the term λ1 = t1/T into Eqs. 1011, and 12. Rearranging and simplifying the equations, the following “final” solutions for the trapezoidal speed, cycloidal-S, and double-S profiles, respectively, are obtained:

$$ trap: \frac{\left( 1-2 \lambda_{1}\right) {\lambda_{1}}^{2}}{3\left( 1-3 \lambda_{1}\right)} = \frac{b_{3} b_{6}}{T^{2} b_{2} b_{5}} $$
(13)
$$ cycl: \frac{\left( 3-5 \lambda_{1}\right){\lambda_{1}}^{2}}{\pi^{2}\left( 1-3 \lambda_{1}\right)} = \frac{b_{3} b_{6}}{T^{2} b_{2} b_{5}} $$
(14)
$$ 2s: \frac{\left( 271-449 \lambda_{1}\right) {\lambda_{1}}^{2}}{900\left( 1-3 \lambda_{1}\right)} = \frac{b_{3} b_{6}}{T^{2} b_{2} b_{5}} $$
(15)

where on the right-hand side there are constant terms that do not depend on λ1.

In Fig. 3, the trends for the considered trajectory profiles are shown: for each value of the constant \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}\) that depends on the system parameters and on the total period T, an optimum λ1 value exists. In particular for a higher value of \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}\) (i.e., inertial terms have more importance), the optimum tends to λ1 = 1/3 (i.e., asymptote). For values less than 0.1 (i.e., viscous terms have more importance), the optimum of λ1 drops rapidly to zero.

Fig. 3
figure 3

First optimization case result

5.1.2 Second optimization case (t 1, t 3, and T optimized)

In this second optimization case, also the third equation of the system Eq. 7 is considered. Thus, it holds:

$$ \begin{array}{@{}rcl@{}} 3 b_{1} b_{4} \left( T - t_{1}\right)^{3} t_{1} + L^{2} b_{2} b_{5}\left( -3 T + 5 t_{1}\right) t_{1} +&\\- 12 L^{2} b_{3} b_{6} =& 0 \end{array} $$
(16)
$$ \begin{array}{@{}rcl@{}} 2 b_{1} b_{4} \left( T - t_{1}\right)^{3} t_{1} + L^{2} b_{2} b_{5}\left( -2 T + 3 t_{1}\right) t_{1}+&\\ - \pi^{2} L^{2} b_{3} b_{6} =& 0 \end{array} $$
(17)
$$ \begin{array}{@{}rcl@{}} &180 b_{1} b_{4} \left( T - t_{1}\right)^{3} t_{1} +\\& + L^{2} b_{2} b_{5}\left( -180 T + 269 t_{1}\right) t_{1} - 900 L^{2} b_{3} b_{6} = 0 \end{array} $$
(18)

for the trapezoidal speed, cycloidal-S, and double-S profiles, respectively.

At the same time, the results of the previous optimization case (i.e., Eqs. 1314, and 15) are still true and they are used to determine the optimum T value:

$$ trap: T = \sqrt{\frac{3 b_{3} b_{6} \left( 1-3 \lambda_{1}\right)}{b_{2} b_{5} {\lambda_{1}}^{2}\left( 1-2 \lambda_{1}\right)}} $$
(19)
$$ cycl: T = \sqrt{\frac{\pi^{2} b_{3} b_{6} \left( 1-3 \lambda_{1}\right)}{b_{2} b_{5} {\lambda_{1}}^{2}\left( 3-5 \lambda_{1}\right)}} $$
(20)
$$ 2s: T = \sqrt{\frac{900 b_{3} b_{6} \left( 1-3 \lambda_{1}\right)}{b_{2} b_{5}{\lambda_{1}}^{2}\left( 271-449 \lambda_{1}\right)}} $$
(21)

Equations 1920, and 21 are then substituted into the third equation of the systems (i.e., Eqs. 1617, and 18), as well as λ1 = t1/T. The following equations are thus obtained:

$$ trap: \frac{14 {\lambda_{1}}^{4} - 13 {\lambda_{1}}^{3} + 3 {\lambda_{1}}^{2}}{9\left( 3 {\lambda_{1}}^{2} - 4 {\lambda_{1}} + 1 \right)^{2}} = \frac{b_{1} b_{3} b_{4} b_{6}}{L^{2} {b_{2}}^{2} {b_{5}}^{2}} $$
(22)
$$ cycl: \frac{20 {\lambda_{1}}^{4}-22 {\lambda_{1}}^{3} +6 {\lambda_{1}}^{2}}{4 \pi^{2}{\left( 3 {\lambda_{1}}^{2}-4 \lambda_{1} +1\right)}^{2}} = \frac{b_{1} b_{3} b_{4} b_{6}}{L^{2} {b_{2}}^{2} {b_{5}}^{2}} $$
(23)
$$ 2s: \frac{80371 {\lambda_{1}}^{4} - 88919 {\lambda_{1}}^{3} + 24390 {\lambda_{1}}^{2}}{81000\left( 3 {\lambda_{1}}^{2} - 4 {\lambda_{1}} + 1 \right)^{2}} = \frac{b_{1} b_{3} b_{4} b_{6}}{L^{2} {b_{2}}^{2} {b_{5}}^{2}} $$
(24)

where on the right-hand side there are only terms that are constant and do not depend on λ1.

From Eqs. 1920, and 21, it can be noted that values of optimum λ1 higher than 1/3 are not possible (i.e., the numerator of the argument of the square root becomes negative).

In Fig. 4, the trends of the functions are shown for the selected profiles: for each value of the constant \(\frac {b_{1} b_{3} b_{4} b_{6}}{L^{2} {b_{2}}^{2} {b_{5}}^{2}}\) that depends on the system parameters, an optimum λ1 value exists. Once this λ1 value is determined, the optimum motion time period Topt is calculated through Eqs. 1920, and 21.

Fig. 4
figure 4

Second optimization case result

5.2 Polynomial profiles

If the polynomial trajectory profiles are focused, the optimization relies on the choice of some of their coefficients ci and on the total time period T. Similar optimization cases to the previous analysis have been considered:

  • 1st case: ci optimized and T fixed;

  • 2nd case: ci and T optimized.

Thus, the energy gradient becomes:

$$ \nabla E = \left\{ \begin{array}{ll} &\displaystyle\frac{\partial E}{\partial c_{i}} = b_{2} b_{5} \frac{\partial \omega}{\partial c_{i}} + b_{3} b_{6} \frac{\partial \alpha}{\partial c_{i}} = 0\\ &\displaystyle\frac{\partial E}{\partial c_{j}} = b_{2} b_{5} \frac{\partial \omega}{\partial c_{j}} + b_{3} b_{6} \frac{\partial \alpha}{\partial c_{j}} = 0\\ &\displaystyle\frac{\partial E}{\partial T} = b_{1} b_{4} + b_{2} b_{5} \frac{\partial \omega}{\partial T} + b_{3} b_{6} \frac{\partial \alpha}{\partial T} = 0 \end{array} \right. $$
(25)

where the partial derivatives of the terms α and ω that depend on the specific motion primitive assume the values as reported in Table 2.

5.2.1 First optimization case (c i optimized, T fixed)

A closed-form solution is here found by substituting in the first two equations of the system (Eq. 25) the results of Table 2. This solution exists only in the case of 5th- and 7th-order polynomial profiles, since in the other cases all the coefficients are imposed by the initial and final conditions on the speed, velocity, and, possibly, the acceleration. More in details, the following optimum results are obtained:

$$ poly5:\left\{ \begin{array}{ll} &c_{4,opt} = \displaystyle\frac{45 L b_{2} b_{5}}{2 \left( b_{2} b_{5} T^{4}+90 b_{3} b_{6} T^{2}\right)}\\ &c_{5,opt} = -\displaystyle\frac{9 L b_{2} b_{5}}{b_{2} b_{5} T^{5}+90 b_{3} b_{6} T^{3}} \end{array} \right. $$
(26)
$$ poly7:\left\{ \begin{array}{ll} c_{6,opt} =& -\displaystyle\frac{1820 L \left( b_{2} b_{5} T^{2}+33 b_{3} b_{6}\right)}{3 \left( 3 b_{2} b_{5} T^{8}+260 b_{3} b_{6} T^{6}\right)} \\ c_{7,opt} =& \displaystyle\frac{520 L \left( b_{2} b_{5} T^{2}+33 b_{3} b_{6}\right)}{3 \left( 3 b_{2} b_{5} T^{9}+260 b_{3} b_{6} T^{7}\right)} \end{array} \right. $$
(27)

5.2.2 Second optimization case (c i and T optimized)

All the equations of the system (Eq. 25) are here considered. Focusing on the 5th- and 7th-order polynomial profiles, the solution of the first two system equations leads to the same result of Eqs. 26 and 27, respectively. Thus, substituting the gradient terms (Table 2) and Eqs. 26 and 27 into the third equation of the system (Eq. 25) allows for determining the optimum motion time period T by solving:

$$ \begin{array}{@{}rcl@{}} p\!\!\!\!\!&&oly5:14 b_{1} {b_{2}}^{2} b_{4} {b_{5}}^{2} T^{8} + \\ &&+\left( 2520 b_{1} b_{2} b_{3} b_{4} b_{5} b_{6}-15 L^{2} {b_{2}}^{3} {b_{5}}^{3}\right) T^{6} + \\ &&+\left( 113400 b_{1} {b_{3}}^{2} b_{4} {b_{6}}^{2}-3690 L^{2} {b_{2}}^{2} b_{3} {b_{5}}^{2} b_{6}\right) T^{4} + \\ &&-226800 L^{2} b_{2} {b_{3}}^{2} b_{5} {b_{6}}^{2} T^{2}-4082400 L^{2} {b_{3}}^{3} {b_{6}}^{3}=0\\ \end{array} $$
(28)
$$ \begin{array}{@{}rcl@{}} p\!\!\!\!\!&&oly7:{891}/{10} {b_{1}} {b_{2}}^{2} {b_{4}} {b_{5}}^{2} T^{8} + \\ &&+\left( 15444 {b_{1}} {b_{3}} {b_{4}} {b_{6}} {b_{2}} {b_{5}}- 105 L^{2} {b_{2}}^{3} {b_{5}}^{3}\right) T^{6} + \\ &&+ \left( 669240 {b_{1}} {b_{4}} {b_{3}}^{2} {b_{6}}^{2} - 24164 L^{2} {b_{2}}^{2} {b_{3}} {b_{5}}^{2} {b_{6}}\right) T^{4} + \\ &&-1501500 L^{2} {b_{2}} {b_{3}}^{2} {b_{5}} {b_{6}}^{2} T^{2} - 28108080 L^{2} {b_{3}}^{3} {b_{6}}^{3} = 0\\ \end{array} $$
(29)

Considering the poly3 and poly5b profiles, the system (Eq. 25) comes down to a single equation (i.e., third equation of the system), since all the coefficients ci are defined. Substituting the terms of Table 2, the optimum motion time results:

$$ poly3: T = \sqrt{\frac{L \sqrt{L^{2} {b_{2}}^{2} {b_{5}}^{2}+100 b_{1} b_{3} b_{4} b_{6}}+L^{2} b_{2} b_{5}}{{5}/{3} b_{1} b_{4}}} $$
(30)
$$ \begin{array}{@{}rcl@{}} &{\kern-12.7pc}poly5:\\ &T = \sqrt{\frac{\sqrt{5} L \sqrt{5 L^{2} {b_{2}}^{2} {b_{5}}^{2}+504 b_{1} b_{3} b_{4} b_{6}}+5 L^{2} b_{2} b_{5}}{7 b_{1} b_{4}}} \end{array} $$
(31)

6 Energy comparison

In this section, the different trajectories are compared in terms of energy expenditure. In order to do so, they are supposed to be applied on the same mechatronic system moving the same load on the same path and in the same cycle time. In addition, the optimum parameters of each motion primitive that minimizes the energy consumption are considered. In this way, the problem of how to treat equations with dissimilar parameters (e.g., the trapezoidal speed trajectory is defined by the acceleration and deceleration times t1 and t3, whereas polynomial trajectories are defined by the polynomial coefficients ci) is overcome.

Starting from the general energy equation (Eq. 6), the contribution of the two terms b1b4T and \(\left (b_{1} b_{5} + b_{2} b_{4}\right ) L\) can be ignored for the comparison purpose, since they are always in common. Moreover, the integral terms α and ω are calculated by substituting the optimum solution of each trajectory profile (Table 1), obtaining αopt and ωopt (Table 3). Therefore:

$$ E^{I} = b_{2} b_{5} \omega_{opt} + b_{3} b_{6} \alpha_{opt} $$
(32)

Collecting and highlighting the common terms (Table 3), the energy equation can be rewritten as:

$$ E^{II} = b_{2} b_{5} \frac{L^{2}}{T} f_{\omega} + b_{3} b_{6} \frac{L^{2}}{T^{3}} f_{\alpha} $$
(33)

where \(f_{\omega } = \frac {T}{L^{2}} \omega _{opt}\) and \(f_{\alpha } = \frac {T^{3}}{L^{2}} \alpha _{opt}\). Finally, dividing by b2b5L2/T, it results:

$$ E^{III} = f_{\omega}+ \frac{b_{3} b_{6}}{T^{2} b_{2} b_{5}} f_{\alpha} $$
(34)

The difference in energy consumption between the motion primitives depends, thus, only on the constant \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}\) (i.e., bi and T are assumed fixed) and the two terms fα and fω. Note that these terms depend in turn on the same constant \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}\) (Table 3).

Table 3 Optimized trajectory profiles integral terms

In Fig. 5, the ratio of \(E^{III}_{i}\), with i = trap, cycl, 2s, poly3, poly5, poly5b, and poly7, over \(E^{III}_{trap}\) is computed in function of \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}\). Different behaviors occur depending on the \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}\) value. As a first result, the 5th-order polynomial trajectory with imposed initial and final acceleration (i.e., poly5b) is always more energy-intensive than the others. It consumes up to more than the 40% of the part of energy related to the motion primitive, with respect to the trapezoidal speed profile, when \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}\) is small. The trapezoidal speed profile results the more efficient when \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}<0.001\). For higher values of \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}\), the 5th-order polynomial and the 3rd-order polynomial have a better behavior (i.e., they consume about the 10% less).

Fig. 5
figure 5

Comparison between consumed energy by a generic mechatronic system using different trajectories

7 Numerical evaluation

A hoist mechanism, visible in Fig. 6, is considered as a test-case for applying the developed method.

Fig. 6
figure 6

Hoist system

It consists on a motor coupled with a planetary gear-train that drives a spool to lift a suspended weight. In addition, the system is able to recover the braking energy and store it in the drive capacitors. Referring to Section 2, and in particular to Fig. 1, the following considerations are done: 𝜗 = π/2 and \(\tau =\tau ^{\prime }{d}/{2}\) with \(\tau ^{\prime }\) the transmission ratio of the gearset and d the spool diameter. Moreover, the equivalent inertia of the spool (i.e., \(j_{l} \tau ^{\prime 2}\)) is considered within the motor inertia jm. Table 4 summarizes all the system parameters in accordance with Fig. 2.

Table 4 Test-case parameters

In this study, only the ascend motion of the load is studied. Anyway, the same approach and analogous results can be retrieved for the descend movement.

By applying the optimization approach through the equations derived in Section 5 for all the motion primitives, the results in Table 5 are obtained.

Table 5 Test-case numerical results (a motion time period T of 4s has been considered in the 1st optimization case)

Considering the first optimization case, where a motion time period T = 4s is selected and \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}=8.893\cdot 10^{-5}\), it can be noted how the optimum acceleration/deceleration times (i.e., λ1) are at relatively short time periods and, thus, at the left side in Fig. 3 in the case of non-polynomial profiles. This could represent a problem in some systems, since high torque peaks are required to run the trajectory and they could not be feasible. In the second optimization case where \(\frac {b_{1} b_{3} b_{4} b_{6}}{L^{2} {b_{2}}^{2} {b_{5}}^{2}}=2.894\cdot 10^{-4}\), the computed optimum motion time period T is between 1.67 and 2.66s, depending on the selected trajectory. Again, the computed acceleration/deceleration times are very short (i.e., left side in Fig. 4 in the case of non-polynomial profiles).

8 Experimental evaluation

The hoist system has been used also as an experimental test-case in order to finally validate the method and the numerical results. A real system (Fig. 6) has been realized in the Smart Mini Factory of the Free University of Bozen-Bolzano. A Kollmorgen AKM31C PMSM motor coupled with a Beckhoff AG3210-NP015S planetary gearset with a 1/35 transmission ratio are used to move the spool. The motor is controlled in position by a Kollmorgen AKD-P00307 servo-drive that is able to reproduce any motion profile defined through a table. A braking energy recovering system, integrated in the drive, is able to store up to 9J of energy. A series of Matlab scripts and functions have been created in order to communicate with the drive and program it. In particular, the connection is based on a telnet protocol and established on a LAN network. The drive is able to acquire and save internal parameters (e.g., speed, current, DC bus voltage) with its built-in scope function. A Matlab function has thus been created to manage the scope function and acquire the instantaneous speed n and the current q-axis component Iq, proportional to the output torque, with a sampling frequency of 1kHz. The scope function has been exploited to measure and calculate the energy consumed by the system performing all the different trajectories. Firstly, the mechanical power is calculated as:

$$ P_{m} = \frac{2 \pi n}{60} K_{t} I_{q} $$
(35)

The power lost as heat in the motor wound is instead computed as:

$$ P_{j} = R I^{2} = R \frac{3}{2}\sqrt{{I_{q}^{2}}+{I_{d}^{2}}}\simeq \frac{3}{2}R {I_{q}^{2}} $$
(36)

where the last assumptions consider that the direct-axis current Id is always zero for this kind of machine and in the considered working zones (i.e., flux weakening not used since high speeds are not reached). The coefficient 3/2 is due since the drive uses the formal Clark transformation [39]. The electrical energy is then computed as \(E={{\int \limits }_{0}^{T}} P_{m}+P_{j} dt\).

The system parameters are the same reported in Table 4. On this regard, all of them have been determined by collecting data from a data-sheet, except for the friction terms Fc and D that have been instead retrieved experimentally.

In this experimental campaign, all the seven trajectory profiles have been tested, considering different trajectory parameters. For what concerns the first three profiles (i.e., trapezoidal speed, cycloidal, and double-S profiles), the energy consumption is measured in experiments where both the time period T and the acceleration/deceleration time t1 = t3 are varied. Note that the optimum λ1 values reported in Table 5 cannot be achieved by the experimental system (i.e., the rope can work only in tension; thus, deceleration higher than 9.81m/s2 is not admissible). Anyway, a closer value, λ = 0.1, is reachable.

In the case of polynomial profiles, the influence of the time period T on the energy consumption has been investigated. In the case of 5th and 7th degree polynomial profiles, two of the polynomial profile coefficients are free to be chosen; in these experiments, only the optimum coefficients (i.e., Table 5) that maximize the energy efficiency have been considered. Each test has been repeated 5 times, as shown in Fig. 7.

Fig. 7
figure 7

Comparison between experimental data and numerical model in the case of the trapezoidal speed profile with λ = 0.1

The results of the experimental campaign are summarized in Fig. 8a where the trajectories are all compared together.

Fig. 8
figure 8

Experimental results: a energy consumption comparison between the different trajectory profiles; b trapezoidal speed profile (note that each data point is the mean value of five tests)

As foreseen by the model and the numerical evaluation (Table 5), the minimum energy consumption point falls in a range between 2 and 3s for all the curves. Then, the energy increases for shorter and longer time periods (i.e., convex shape). As expected from the theory (Section 6), the trapezoidal speed profile results the less energy-intensive, since the system constant \(\frac {b_{3} b_{6}}{T^{2} b_{2} b_{5}}<0.001\). More in general, the energy consumption rank of all the motion primitives follows the Fig. 5 prediction.

In Fig. 8b, the influence of the acceleration and deceleration time is shown in the case of a trapezoidal speed profile, demonstrating that in this system lower values of t1 = t3 lead to a minimum of the energy consumption. For instance, an energy reduction of about 1.3% can be achieved if t1 = t3 = 1/10, instead of using the most common 1/3 values (i.e., the energy from 73.41J falls down to 72.43J, considering the time period T = 2.5s), and this while maintaining the same productivity (i.e., T does not change). Analogous results can be obtained considering the cycloidal-S and the double-S profiles.

9 Conclusion

In this paper, the study of the energy consumption and its minimization in generic 1-DoF mechatronic systems moving a constant inertia load (e.g., elevators, cranes, CNC machines, Cartesian axis) and possibly equipped or retrofitted with regenerative devices (i.e., mixed approach) has been done. Different PTP trajectory profiles have been investigated including both profiles commonly used in industrial motor drives and more complex ones.

In particular, the function of energy consumption has been analytically expressed finding out that it depends on six constant bi terms that describe the system parameters (e.g., mass, inertia, friction), the length of the motion path L, the total time period T, and the speed and acceleration of the motion profiles. Then, the developed approach considers the analytical energetic optimization of all the different PTP primitives by deriving the optimum closed-form solutions.

For what concerns the standard trajectories (i.e., trapezoidal speed and double-S profiles), as well as the cycloidal one, the optimization has been achieved by varying the total motion time T and the acceleration and deceleration time periods. Conversely, in the case of polynomial primitives, the motion time period T has been optimized, as well as the polynomial coefficients that have effect on the “shape” of the profile. The energy function presents a convex trend with respect to the total motion time T and, thus, a unique T that guarantees the minimum energy consumption exists.

In addition to similar works, it has been demonstrated and verified that, under the considered hypothesis and working conditions, the optimum solution is the one obtained when the same values for the acceleration and deceleration time periods are chosen (i.e., λ1 = λ3). The effect of changing the λi values on the overall energy expenditure (i.e., from λ = 0.1 to λ = 0.5), even if is less heavy if compared with the variation of T, is higher in systems in which the inertial terms are greater than the effect of external constant force/torque. This numerical result shows as, in particular in repetitive tasks, the saved energy could reach substantial values.

Considering a practical application, this analytical approach allows for a fast and easy computation to determine the point of minimum energy. Therefore, it is worth to be integrated in (existing) embedded mechatronic control systems, where computational power is limited, for online trajectory optimization. Even if some constraints (e.g., maximum motor current) are not directly taken into account, the analytical solution can be used as a starting point for a numerical method, where only the motion-dependent terms are minimized as discussed in Section 3 (i.e., less computation efforts). Anyway, in future studies, the introduction of system constraints into the analytical formulation will be valuable, to further speed-up the computation of the optimal trajectory. Other motion primitives will be also investigated (e.g., Gutman, Freudenstein).