Trajectory Design for Energy Savings in Redundant Robotic Cells †

Dipartimento di Tecnica e Gestione dei Sistemi Industriali, Università degli Studi di Padova, 36100 Vicenza, Italy; dario.richiedei@unipd.it * Correspondence: paolo.boscariol@unipd.it † This paper is an extended version of a conference paper previously published In the Proceedings of the 4th IFToMM Symposium on Mechanism Design for Robotics, Udine, Italy, 11–13 September 2018, “Energy Saving in Redundant Robotic Cells: Optimal Trajectory Planning”.


Introduction
The efficient use of resources is one of the challenges that industry has to face, not only to reduce the manufacturing and handling costs, but also to comply with the directives set by the European Union [1,2].Such directives, which encourage the adoption of energy efficiency improvements, provide a strong market pull for energy-efficiency enabling technologies and research activities.The latter are testified by the flourishing literature [3] on the topic.Some recent theoretical [4] and experimental [5] investigations have shown that software and hardware solutions can lead to up to a 30% energetic improvement for robotic systems.
The work [3] proposes a classification of the numerous solutions proposed for the energetic improvement of automatic and and robotic systems.The classification identifies lightweight robot design [6], energy recovery and storage [7], robot architecture selection [8] and motion planning [9,10] as the main tools for achieving sensible energy consumption mitigation of automatic machines.Facing the problem of enhancing energetic efficiency by focusing on motion design has the advantage of being a 'software solution' that can be applied to a wide range of systems.Not only are industrial robots the subject of studies on energy efficiency, since energy-saving trajectories for mobile robots are under investigation as well [11,12].
The impact of motion planning on the energy consumption of electric-driven mechatronic devices is well known and well understood, having been analyzed since the 1970s [13].Several works have shown that simple analytical models can be effectively used to evaluate and optimize the power consumption of automatic machines [14,15].These models can be used to formulate optimization problems that can be solved analytically for simpler cases or numerically for more complex ones [16].
Another tool that can be effectively exploited when designing energy-efficient motion profiles is kinematic redundancy, i.e., the availability of extra degrees of freedom of the robotic system [17].Redundancy provides additional degrees of freedom to the solution of the inverse kinematic problem as well as to the choice of the motion profiles of the extra degrees of freedom.Increasing the number of degrees of freedom allows also to define a more energy efficient torque distribution among the actuators, as demonstrated for parallel robots in [18][19][20][21].The work [18] analyzes several possible modifications to a planar kinematic robot, with the aim of finding the one that guarantees the higher energy savings, under a torque distribution managed by a predictive strategy.The numerical results are then extended to a full experimental validation in [19].The optimal torque distribution in a redundantly actuated system can also be obtained by off-line optimization routines, as suggested in [20] or in [21].
This work suggest a novel approach to the topic of energy efficient operation of robots by discussing the optimization of the motion profiles for kinematically redundant robotic cells.This works proposes, as a test case, a robotic cell made by a three degrees of freedom (DOFs) Selective Compliance Assembly Robot Arm (SCARA) robot and a linear unit, which can be used to move the workpiece.Instead of introducing permanent modifications to the kinematics of an existing machine, as suggested in [18][19][20][21], here redundancy is introduced by adding an additional external and independent axis to a standard robot.A numerical optimization tool is suggested to fully exploit the availability of the extra degree of freedom through a careful design of the robot trajectory and of the motion design of the additional linear unit.The energy saving is then evaluated by comparing the result of the application of the proposed method with and without the use of the additional linear unit.

Energy Consumption Estimation
In this section the analytical models used for evaluating the energy consumption of the robotic cell is recalled.The goal is to find an expression for the energy consumption associated with a robotic task, which in this case is expressed as a trajectory in the operative space.Two models are presented, to describe separately the SCARA robot and the linear unit.For the second one, owing to its simpler dynamics, an analytic closed-form expression of the energy consumption will be presented.

SCARA Robot
The robotic cell used as a testbench comprises a three DOFs SCARA robot, as shown in Figure 1.The SCARA robot is actuated by three brushless motors, and its main electric and mechanical parameters are reported in Table 1.The dynamic model of the SCARA robot can be obtained by using the Lagrangian formalism, leading to the usual formulation: M(q) q + C(q, q) Equation ( 1) involves the vector of joint coordinates q = [q 1 , q 2 , q 3 ] T , the diagonal matrix f v of viscous friction coefficients and the diagonal matrix of Coulomb friction forces F c .Motor torques at the joint are represented by the three components of vector τ m .M(q) is the configuration-dependent mass matrix, while C(q, q) accounts for the centrifugal effects.The electromechanical model of the motors that drive the SCARA robot can be introduced into Equation (1), by recalling that the motor currents and the motor torques can be related by the diagonal matrix of the motor torque constants, k t , as: The voltage drop across the motors can then be described by the equivalent DC motor armature model, which collects the contributions for all the joints of the robot: where qm is the vector of the motor velocities, k b is the diagonal matrix of the motor back-emf constants, R is the matrix of motor winding resistances and L is the inductance matrix.The instantaneous power drawn by the robot is then simply expressed by the current-voltage product: If regenerative drives are assumed, and energy loss due to regeneration is neglected, the overall energy consumption for the time interval [t a , t b ] is found by computing the time integral: This model can be implemented within the trajectory optimization routine, which will include the numerical integration of Equation (5), following the approach commonly used in works such as [22].It must be pointed out that the electric power, as expressed in Equation (4), takes positive values when the energy is drawn by the robot from the drive unit and negative values when the energy flow is reversed.Whenever the motor drives does not support regeneration [23], the current drawn from the actuators during the braking phase is dissipated by a braking resistor, and therefore negative values of P e (t) should be not accounted for in Equation (5).Both the cases of regenerative and non-regenerative robot drives are taken into consideration in Section 3 to highlight the results of the energy optimization in both cases.

Linear Unit
The estimation of the energy needed to drive the fourth axis of the robotic cell, i.e., the sliding table, can be efficiently performed using an analytical closed-form formulation rather then by numerical integration, as imposed by the analytical complexity of the SCARA robot dynamics.
The dynamics of the linear unit can be described by a single differential equation, that takes the common form of the dynamics of a constant inertia systems, as: The parameters appearing in Equation ( 6) are the moving mass of the linear unit m, the coefficient of viscous friction f v and the Coulomb friction force F c .Since the linear unit is actuated in a direct drive arrangement, i.e., without the use of transmission system, the force acting on the moving mass is equal to the force F m (t) exerted by the brushless linear motor which drives the unit.If required, this formulation can be extended in a straightforward manner to include reversible transmission system, such as a ball screw mechanism.The values used to define the model of the linear unit are shown in Table 2.The equations that describe the electric dynamics of the linear unit are the scalar equivalents of the ones already used for the robot, i.e., Equations ( 2) and (3).Accordingly, the instantaneous electric power drawn by the linear unit can be written as: Equation ( 7) does not include the effects of inductance on power absorption, since they are negligible.Equation (7) shows that the instantaneous electric power drawn by the motor is the sum of a constant term, associated with the Coulomb friction force F c , and of a term that depends on speed, acceleration, on their product and on their squared values.The time integration of Equation ( 7) over the interval [0, T] results in the estimation of the energy required to perform a generic motion profile.In a rest-to-rest motion profiles the energy associated with the acceleration q4 (t), with its squared value q2 4 (t) and with the speed-acceleration product are null, i.e., Furthermore, the power contribution that is directly proportional to the speed, when integrated, is simply related to the overall displacement H, given that: The overall energy consumption can therefore be rewritten by rearranging Equation (7) and by computing its definite integral over [0, T] as: The formulation of Equation ( 10) can also be rearranged by highlighting the contributions proportional to the RMS value of joint speed q4 and acceleration q4 using the formulas: Accordingly, the energy used by the linear unit can be computed as the sum of four terms, highlighting the proportionality to the total displacement H, to the motion time T, to the root-means-square (RMS) values of speed and acceleration, as: Equation ( 13) is of general application, since it can be used for any choice of the rest-to-rest motion profile of the linear unit, provided that the the RMS values of the table speed and acceleration can be computed.As suggested in [24], their computation can be performed using the characteristic coefficients of RMS speed and acceleration, c V RMS and c A RMS , which are commonly available in standard reference books [25].Such coefficients are computed with reference to a normalized motion profile q N (τ), which provides a unitary displacement over a unitary time duration, as: Recalling that [24]: the total energy consumption of the linear unit while performing a generic rest-to-rest motion can be evaluated also as:

Energy Optimization
The energy consumption models reported in Section 2 can be used as the basis of an energy optimization problem.Countless choices are available as far as the trajectory primitive is concerned, according to the extensive results available in literature [25,26].As a matter of example, in this work the trajectory design is performed with reference to the so-called '434' spline algorithm.This motion profile, which was introduced by Cook and Ho in [27], is based on the use of piecewise polynomial functions as the means to produce a trajectory that passes through a sequence of via-points, which might be expressed either in the operative or in the joint space domain.The motion primitive takes its name from the sequence of third and fourth degree polynomials function that are used to provide the interpolation of the via-points with continuity up to the second derivative, so that continuous acceleration is always achieved.Further alterations of the original definition can be performed to achieve speed, acceleration and jerk limitations [28].
In the case under consideration in this work an energy saving trajectory design is sought, using the 434 trajectory for the SCARA robot, even if the method can be applied, with obvious modifications, with spline algorithms and with arbitrary motion profile of the linear unit.The task is specified by N via-points that are usually defined, for the operator's convenience, in the operative space, meanwhile the computation of the interpolated motion profile according to the aforementioned 434 algorithm is performed after their transformation to the joint space.
This motion profile is used here also to exploit its simple parametrization: Once a sequence of via-points is defined, the trajectory is designed by setting the time distance between each two consecutive via-points.Each trajectory implementation is uniquely identified by a vector of time distances T, which comprises N − 1 elements, each one identified as T i .This feature makes the '434' trajectory profile very suitable to be the basis of an optimization procedure.
As far as the optimization of the motion of the linear unit is concerned, here the 'symmetric double-S' profile is chosen as the motion law, but the procedure can be adopted to other motion profiles using a similar procedure.The motion is conveniently described by the piecewise expression of the velocity as: with The motion of the linear unit is therefore split into three phases, comprising an acceleration and deceleration phase, each one lasting t a seconds, and a constant speed phase.Equation (20) ensures that the whole displacement H is performed in the total time T. If the total motion time T is prescribed, the optimization of the trajectory of the linear unit can be performed by setting the acceleration time t a within the range (0, T/2].After evaluating the coefficients c v,RMS and c a,RMS according to Equations (19) and (20) and by using them into Equation (18), the energy consumption of the linear unit is: Equation ( 21) is written for the double-S motion profile, but it should be highlighted that the formulation of Equation ( 18) can be applied to any arbitrary motion profile, simply by finding the corresponding values for the characteristic coefficients c v,RMS and c a,RMS .
Once a method for evaluating the energy consumption of the whole cell is established, a numerical optimization can be set up according to the following problem: with: T ∈ R N−1 ; t a ∈ (0, T/2] ; subject to: bounded |W e,j |, |τ j |, with j = 1, 2, 3; The cost function used in Equation ( 22) equally weighs the energy required by the robot and by the linear unit, therefore the optimization problem is targeted at reducing the overall energy consumption of the robotic cell.The energy required by the SCARA robot, E SCARA is evaluated according to Equations ( 2)-( 5), while E LU is evaluated using just Equation (21).Optimization variables includes the set of N − 1 times T i between two consecutive via-points, which are collected in the vector T, and the acceleration time t a , which sets the design of the motion profile of the linear unit according to Equations ( 19) and (20).The whole task is designed to be performed in T seconds, and the motion of both devices happens simultaneously and without any pauses.In addition to the bounds on absolute values joint speed, acceleration and jerk, the optimization problem in Equations ( 22) can account for limits on the peak values of the motor torques τ j and on the electric power W e,j draw by the j -th motor.The last two constraints are enforced to ensure the limitation imposed by the robot drive unit.
The optimization problem is not convex, however a careful selection of the initial guess has shown to be capable of getting rid of this issue and to boost the achievement of significant energy reductions.A sensible initial guess for the starting value of the times T i can be obtained using either the chord length distribution or the centripetal distribution methods, as proposed in literature [25].
The benchmark problem taken into consideration in this work is described by six via-points defined in a reference frame located on the sliding table.The six via-points, which are reported in Table 3, reproduce a pick & place task that involves the motion of all the four axes of the robotic cell.This choice reproduces a typical task performed by SCARA robots in assembly or packaging applications.The energetic performance of the proposed method is measured in comparison with a non-redundant solution, the latter being obtained without the use of the linear unit, i.e., by enforcing q4 (t) = 0.

Trajectory Optimization with Electric Power Regeneration
Figure 2 reports the results of the solution of the optimization problem of Equation ( 22) for a sequence of execution times varying from T = 7 s to T = 2 s, halting the iteration when reducing the minimum time allowed by the constraints.The procedure was repeated for the redundant and the non-redundant task.The solid line in Figure 2 shows the minimum energy required to perform the task in the redundant case, while the dashed line refers to the use of the SCARA robot only.In all the cases included in Figure 2 the redundant configuration is by a noticeable amount the most energetically efficient one.It can also be highlighted that the advantage in terms of energy saving allowed by the redundancy is more relevant for faster motion profiles.
The non-redundant configuration requires at best 20.5 J to complete the task, while just 13.6 J are needed when using the linear unit.Optimal execution times are 3.23 s and 2.25 s, respectively.Figures 3 and 4 show the optimal trajectories as designed through the optimization routine.In particular, Figure 3 shows the speed of each axis for the minimum energy solutions.It can be seen that the motion of joints 2 and 3 are radically different when switching from the redundant to the non-redundant configuration, since the motion along the X direction is in one case provided by the SCARA robot, and in the other one is provided by the linear unit.The frame of reference for the Cartesian motion of the end-effector is shown in Figure 1.Hence the SCARA robot performs a smaller displacement in the redundant case.The motion along the vertical direction, which is provided by the third axis, follows a similar profiles in both cases, with the noticeable difference of a sensibly shorter execution time in the redundant case due to the smaller optimal motion duration.
The corresponding paths of the SCARA end effector are shown in Figure 5: In the non-redundant case the motion of the end-effector passes exactly through all the six via-point, while in the redundant configuration just the first and the last via-points are touched by the path.The corresponding distortion of the path is due to the absence of a synchronization between the motion of the robot and of the linear unit, as the result of using a rest-to-rest motion profile for the linear unit and a via-point approach for the robot.
It is indeed worthwhile to notice that for the third joint, the peak speed values are essentially unaffected by the shorter execution time associated with the redundant configuration: Also the corresponding acceleration, as it can be seen in Figure 4, shows almost identical profiles of the first and the last segment of the trajectory.In all cases the peak values of speed, acceleration and, although not shown, jerk, are comfortably within the kinematic bounds imposed when defining the optimization procedure.The profiles of the absorbed electric power obtained in the same tests are are reported in Figure 6.The dashed lines, which refer to the non-redundant configuration, shows that all the motors that drive the SCARA robot draw electric energy during the first half of the task, while a fraction of that energy is fed back to motor drives in the remaining part of the trajectory.The power profiles optimized for the redundant trajectory, which are represented by solid lines in Figure 6 has the interesting property of alternating energy absorption and energy regeneration phases between joints 1 and 2. The same figure shows that the amount of energy that can be regenerated by the fourth axis is negligible, given that the current regenerated during the braking phase by the linear unit is almost completely dissipated in the motor windings due to resistive losses.

Trajectory Optimization Without Regeneration
The trajectory design procedure has been repeated by taking into consideration the very same task, with the only difference being that is has been assumed that the drive circuit of the SCARA robot do not support energy regeneration.The iteration of the design procedure for total execution times that range from 7 to 2 s, results in the two energy vs. time profiles shown in Figure 7.As far as the overall energy consumption is concerned, the addition of the fourth axis does, again, offers the possibility of reducing the energy consumption and achieving a consistent speed-up.The two energy-optimal solutions require 25.9 J and 16.9 J, with execution times equal to, respectively, 3.700 s and 2.442 s.The joint speed and acceleration profiles corresponding to the two optimal solutions are shown in Figures 8 and 9. Comparing them to Figures 3 and 4, which are generated under the full regeneration hypothesis, shows that the trajectories that lead to the energy optimality are very similar to each other.It can be inferred that, for the case under investigation, the energy regeneration has a minor effect on the trajectory design.Figure 9 highlights that, accordingly to the results already presented in Figure 4, the timing of the motion of the linear unit that leads to the minimum energy consumption is the one that sets the acceleration and deceleration times equal to one third of the total execution time T.
Also the direct comparison between Figures 6 and 10, which show the power absorption with and without regeneration highlights the similarity between the two profiles.The absence of regenerated energy is indicated in Figure 10 by shading the areas underlined by negative values of the absorbed electric power: The energy associated to such contributions will be dissipated on a braking resistor and therefore will not be accounted for when evaluating Equation (5).The main difference between the optimal trajectories obtained with and without energy regeneration is that the latter requires a slightly longer execution time.

Conclusions
This works suggests a solution to the problem of designing optimal tasks for robotic cells by exploiting kinematic redundancy as a tool for improving the performance.The suggested method, applied to a robotic cell which comprises a SCARA robot and a linear unit used to move the workpiece, has been capable of producing motion profiles with a reduced energy consumption and a faster execution time in comparison to equivalent non-redundant configurations.Time speed-up and efficiency increase are achieved with and without the aid of regenerative braking.The trajectory optimization design is based on an inverse dynamic model of the robotic cell, which is used together with an analytical model of the energy consumption.The proposed method is of general application, since it can be applied to several other robotic architectures and to different motion profiles.

Figure 1 .
Figure 1.Layout of the robotic cell.

Figure 2 .
Figure 2. Energy consumption versus total execution time: Comparison between the redundant and non-redundant configuration, with regenerative actuation.

Figure 3 .
Figure 3. Joint speed: Comparison between the energy-optimal trajectories with redundant and non-redundant configuration.

Figure 4 .
Figure 4. Joint acceleration: Comparison between the energy-optimal trajectories with redundant and non-redundant configuration.

Figure 5 .
Figure 5. Path in the operative space: Comparison between redundant and non-redundant configuration.

Figure 6 .
Figure 6.Motor electric power: Comparison between the energy-optimal trajectories with redundant and non-redundant configuration.

Figure 7 .
Figure 7. Energy consumption vs. total execution time: Comparison between the redundant and non-redundant configuration, without regenerative actuation.

Figure 8 .
Figure 8. Joint speed: Comparison between the energy-optimal trajectories with redundant and non-redundant configuration, non-regenerative SCARA robot.

Figure 9 .
Figure 9. Joint acceleration: Comparison between the energy-optimal trajectories with redundant and non-redundant configuration, non-regenerative SCARA robot.

Figure 10 .
Figure 10.Motor electric power: Comparison between the energy-optimal trajectories with redundant and non-redundant configuration, non-regenerative SCARA robot.Dissipated energy is shown in gray.

Table 1 .
Mechanical and electric parameters of the Selective Compliance Assembly Robot Arm (SCARA) robot.

Table 2 .
Mechanical and electric parameters of the linear unit.

Table 3 .
Coordinates of the via-points for the pick & place task.