Energy Optimization of Functionally Redundant Robots through Motion Design

: This work proposes to exploit functional redundancy as a tool to enhance the energy efﬁciency of a robotic system. In a functionally redundant system, i.e., one in which the number of degrees of freedom required to complete the task is smaller than the number of available degrees of freedom, the motion of the extra degrees of freedom can be tailored to enhance a performance metric. This work showcases a method that can be used to effectively enhance the energy efﬁciency through motion design, using a detailed dynamic model of the UR5 serial robot arm. The method is based on an optimization of the motion proﬁle, using a parametrized description of the end-effector orientation: the results showcase an increased efﬁciency that allows energy savings up to 20.8%, according to the energy consumption results according to the electro-mechanical dynamic model of the robot.


Introduction
The optimization of robotic operation is a topic that has drawn a considerable attention and has been the central topic of countless works, also in the light that several metrics can be defined to measure the performance of a robot. Most often the only tool available for optimizing a robotic operation in the trajectory planning, as most industrial robots are programmed by defining their motion as a sequence of via-points or by composing the motion using a pre-defined set of motion primitives.
Within this framework, traditionally trajectory optimization has been used to minimize the execution time of a task [1,2], or the smoothness of the motion profile [3,4] for minimum motion-induced vibrations. Later on, the minimization of the actuator effort, usually defined as the mechanical energy required to drive the robot joint or a quadratic torque norm, has been investigated in several works, such as [5][6][7]. Recently, the attention has shifted to the investigation and optimization of the energy consumption of a robotic system [8]. Such works are motivated by the energy saving policies supported by the European Union, as well as by the clear economic advantage associated with increased efficiency. The review work [8] lists several methods to reduce energy consumption, among which are the use of regenerative motor drives and energy sharing on a bus [9,10], the use of mechanical energy storage devices [11][12][13][14][15]. Such methods are listed in the work [8] as hardware solutions, meaning that the energy efficiency enhancement is obtained by introducing some physical modifications to the system. On the other hand, all methods that do not require any physical alteration are listed as software solutions, being based just on the modification of the software that handles the robotic operation. Among them, the most common solution is to define an energy-optimal motion profile: within this approach the estimated energy saving can be very significant, since improvements up to 33% are testified by Park in the work [16].
The energy optimization can be used also together with the exploitation of redundancy, that can be either intrinsic or functional. An intrinsically redundant robot is one for which the dimension of the joint space is larger than the dimension of the operational space, as in the case of a seven degrees of freedom robot. A manipulator is then said to be functionally redundant when the dimension of the operational space is larger than the dimension of the task space: in this case the number of degrees of freedom required by the task is larger than the number of degrees of freedom of the end-effector of the robot [17]. The key concept behind the use of redundancy as a tool to optimize a robot performance metric is that among the infinite solutions of the inverse kinematic problem an optimal one can be defined. One example is provided in the work [18], where the use of a kinematically redundant SCARA robot is proposed and it is shown that redundancy can be exploited to maximize the capability of the robot to produce high-speed motion. The topic of energy saving in a kinematically redundant robotic cell has been investigated by two of the authors of this work in [19], in which it is shown that by adding an additional degree of freedom to a SCARA robot through a moving platform, its energetic performance when executing a pick and place task can be significantly improved. According to the classification proposed above, such work can be classified as a mixed approach, since it combines both hardware modifications by the added degree of freedom, and software modifications through the trajectory modification.
This work explores a similar topic by focusing on functional redundancy. Several operations that are commonly performed by robots in industry are actually characterized by functional redundancy, considering that a radial symmetry of the end-effector tool is sufficient to define a functional redundancy. Common examples include welding [20][21][22], deburring [23,24] or spray painting [25,26] performed by a robot. The latter is investigated in the work [27], where it is shown that functional redundancy can be exploited to enhance a robotic spray operation, choosing manipulability as the optimization goal.
In this work the use of functional redundancy is tested as a tool to enhance the energy consumption of a robot during the execution of a simple motion task. A detailed dynamic and electric model of a commercially available robot is set up, and it is used to estimate and then optimize its motion. Functional redundancy is parametrized by the absolute tool orientation, for the cases in which the operation being performed allows for it to be varied within a pre-defined range.

Energy Consumption Estimation in Robots
In this section the model used to describe the mechanical and the electric model of the robot under investigation is outlined. The model is defined for the UR5 robot chosen as the testbench, shown in Figure 1, but the same formulation is suitable to describe the dynamics of most serial robots used in industry. The model is used to provide an estimation of the energy consumption associated with the execution of a task. The dynamic model of the robot can be described, according to the Lagrangian formalism, by the formulation: M(q)q + C(q,q) + G(q) + f vq + F c (sign(q)) = Bτ m (1) q = [q 1 , . . . , q 6 ] T is the vector of the independent joint coordinates, M(q) is the mass matrix, C(q,q) collects the centrifugal effects and G(q) models gravitational effects. Motor torques are included in vector τ m and B is the force distribution matrix, that accounts for the the gear ratios too. Friction in the joints due to the one in the motors and in the speed reducers is included through the diagonal matrix of viscous joint friction coefficients, f v and the vector of Coulomb friction forces F c . The inverse dynamic model of Equation (1) is used to compute the instantaneous values of the motor torques as a function of the desired kinematic quantities q(t),q(t) andq(t).
The energy consumption is computed starting from the following equations, as usually done in the literature: K t is the diagonal matrix of motor torque constants, K b is the diagonal matrix of the back-emf constants, R is the diagonal matrix of motor winding resistances andq m (t) is the vector of the motor speeds. The effect of inductances is negligible, as widely proved in the literature. This model applies to DC motors, as well as to AC brushless motors, according to Park's model [28,29]. The electric power drawn by the robot can then be represented by the voltage-current product: W m is the electric power draw by the six actuators. The consumption of the robot as a whole is simply computed as the sum of the aix individual joint motor consumptions, as in; Finally, the overall energy expenditure associated with a task defined within the time frame [t a , t b ] can be computed as: It should be pointed out that a correct application of the expression in Equations (5) and (6) to the test-case used in this work should take into account only the positive values of W m,i , as the robot is not equipped with regenerative motor drives or energy sharing among actuators. As a consequence, when the electric power flows from a motor to the drive, such energy is not stored or shared over a bus, but it is dissipated on a so-called braking resistor [30].

UR5 Robot Parameters
The robot chosen as the test-case here is a Universal Robot UR5 manipulator. Most of its mechanical and electrical parameters are available in the literature including the robot manufacturer datasheet [31], or the components manufacturers' one. The kinematic properties of the manipulator, according to the manufacturers' data, are collected in Table 1.
The mass properties of the robot are collected in Table 2 by listing the center of mass and the total mass of each link, as declared by the manufacturer. As for the other parameters required by Equations (1)-(6), they have been obtained by the commercial catalogs of the components used in the UR5.
The motors are produced by Kollmorgen and belong to the KBM 'frameless' series [32]: three 'size 1' motors, which can exert a peak torque of 28 Nm at the joint, and three 'size 3' motors, which can deliver up to 150 Nm at the joint. The actual motors can actually deliver higher torque values, as the torque is limited by the robot control unit to enforce the the maximum safety force limits [31]. To cope with the lack of more specific data, according to the authors' knowledge, the electrical and mechanic parameters of the motors have been estimated through similar motors. Such data are collected in Table 3, including the continuous service torque T cs , the back-emf constant k b , the torque constant k t , winding resistance Ω, motor shaft inertia J m , static friction torque T C and viscous friction constant f v .
The reducers used in the UR5 are harmonic drive speed reducers [33] and belong to the HFUS-2SH family with 100:1 reduction ratio [34]. Again, the data used to set-up the dynamic model refer to the reducers that, according to the datasheet, better fit the specifications provided by the robot manufacturer. The main parameters that describe the reducers are reported in Table 4, including the static friction T C , the reducer moment of inertia J r and the average efficiency η.

Trajectory Optimization and Results
In this section the dynamic and the energy model of the robot are used to measure and optimize a robotic operation under the hypothesis of functional redundancy. Since the robot has six degrees of freedom, any task in which the specified motion can be described by five or less degrees of freedom can be classified as a functionally redundant one. Functionally redundant tasks are quite common in industrial applications, which often include operation such as deburring, painting or welding. In all these applications functional redundancy is the result of the irrelevant rotation of the end-effector about the approach vector, as a result of its axial symmetry. The most basic example is spray painting with a gun that produces a conic spray pattern [35], resulting in task that is described by five degrees of freedom and 1 redundant degree of freedom. Similarly, welding can be performed by varying the orientation of the welding tool relative to the workpiece [36].
In this work the energy consumption associated with a simple task is optimized to minimize energy consumption, referring to a case in which one degree of freedom is unspecified, and two degrees of freedom are partially specified. This occurrence might happen in a painting application, in which the rotation of the end-effector of the robot about the approach vector (i.e., the roll angle) is irrelevant to the task, and the pitch and yaw angles are specified within a range, given that they have a minor impact on the spray results. The proposed method however can be adapted to cope with other situations, simply by using wider on narrower bounds on the functionally redundant degrees of freedom, which can be adjusted to obtain the preferred trade-off between the optimization goal, i.e., energy consumption, and suboptimal spray paint coverage. It is assumed, therefore, that the each task is specified by the end-effector position as three positions in the operational space and three Euler angles (roll, pitch and yaw) as: Once the motion of the end-effector position and orientation is fully specified, the corresponding motion of the robot joints can be found by using a suitable inverse kinematic algorithm, that for the robot under consideration, takes a simple closed-form expression [37]. If the roll angle does not affect the task execution, and the pitch and yaw angles can vary within a specified range, the latter can be used as optimization variables in a constrained optimization routine.

Test-Case 1
In the first test-case, a horizontal rest-to-rest motion of the end-effector was taken into consideration. The motion took place between the Cartesian positions P 0 = [−0.5, 0.5, 0.3] T m and P f = [0.5, 0.5, 0.3] m, with initial and final orientation angles set to φ = [ϕ, θ, ψ] T = [0, 0, 3 2 π] T rad following a path defined as a straight line. The motion therefore described a 1 m displacement along a horizontal line, with the end-effector aligned with the Y-axis of the global reference frame.
First, a non-optimized motion planning was simulated to provide a measure of the performance improvement that results from the proposed optimization method. In this case the motion of the end-effector, specified according to the pose described as in Equation (7), was set so that the orientation of the end-effector was kept constant and equal to φ = [0, 0, 3 2 π] T rad, while the Cartesian motion of the end-effector was described by a trapezoidal speed profile with acceleration and deceleration ramp duration equal to 150 ms. The overall duration of the task was chosen to be T = 750 ms. The choice of the trapezoidal speed profile was motivated by the availability of this motion primitive among the ones made available by the robot programming environment. The results of executing the task in the simulation environment are provided in Figures 2-4. The optimization of the motion profile was performed using a custom simulator developed in MATLAB, which was also used to plot the results of the simulations. Figure 2 shows the motor speed profiles: the plot shows that the sixth joint of the robot is not moved, as it dictates the roll of the end-effector reference frame, which is not required by the task. The electric power drawn by each motor is shown in Figure 4.   The overall consumption associated with the task, evaluated according to Equation (6), is equal to 220.4 J.
A set of energy optimization procedures have been developed to make the pitch and yaw angles properly vary form their nominal values (i.e., θ = 0 rad and ψ = 3 2 π rad) to reduce the energy consumption. These approaches can be summarized through the following optimization problem: E robot (8) subject to: θ(t) ∈ [−π/9, π/9] rad; The bounds set to the pitch and yaw angles in Equation (8) highlight that the pose of the end-effector is allowed to vary as much as ±20 deg from their nominal values. Tighter or wider bounds can be set according to the limitations imposed by the specific application under consideration. Several motion profiles for the two redundant angles will be tested here to analyze which choice provides the best energy saving.
To provide a further comparison with a metric widely adopted in robotics, a performance index based on manipulability is evaluated for each motion design trial, and a separate manipulability optimization has been implemented as well as a further benchmark. Manipulability is defined as: in which J(q) is the configuration-dependent Jacobian matrix of the end-effector of the robot, and can be evaluated also as the product of the Jacobian singular values. The manipulability takes small values in proximity of a singularity, and is proportional to the volume of the speed ellipsoid, and as such measures the capability of the robot to produce end-effector speed. By increasing manipulability, the sensitivity coefficients that relate the velocity of the end-effector to the joint velocities are increased as well, with the effect that the same speed of the tool can be obtained with lower joint speeds: thus it is expected that the motor effort is reduced as well. While it is true that a precise measure of the energy consumption can be captured only by a detailed description of the robot dynamics, manipulability has been chosen in countless works for its simple computation (it requires only the knowledge of the Denavit-Hartenberg parameters of the robot) and for its clear physical interpretation. As such, manipulability is often chosen as the performance measure to be be enhanced when redundancy allows it [17]. Since manipulability is a local measure, i.e., it is related to a single value of the robot configuration q, the measure is extended to a whole task by measuring its time integral along the duration of the task, leading to the following optimization problem: T 0 1 m(q(t)) dt (10) subject to: θ(t) ∈ [−π/9, π/9] rad; We chose five different approaches, by adopting standard motion profiles to define θ(t) and ψ(t). The actual motion of the robot axes is then defined by its inverse kinematics.
The first approach, which is also the simplest one, aims at reducing the energy consumption by finding two constant values of the pitch and yaw angles, always within the allowable ±20 deg domain. In this situation the tool orientation is constant along the whole trajectory, and the position of the end-effector follows the prescribed straight line. The constant values of pitch and yaw are found by solving the trajectory optimization problem of Equations (8) or (10). A different approach can be defined by assuming that the tool orientation can be continuously changed during the execution of the task, moving from an initial value to a final value, always allowing to vary both pitch and yaw. These four angle values, i.e., initial and final pitch angle, initial and final yaw angle, are therefore the unknown parameters, i.e., the optimization variables. The motion primitive assumed to define these motions leads to the other four strategies investigated in this work. In the second scenario the pitch and yaw motion are allowed to move at constant speed. The third, fourth and fifth optimization scenarios are defined by assuming three simple standard trajectories: a symmetric trapezoidal speed profile with with 150 ms ramp duration, a third-order polynomial profile, and a fifth order polynomial profile, respectively.
The results of the computation of the five optimization scenarios are reported in Table 5. The results include also the manipulability index measured as in Equation (10), as well as a comparison with the non-optimized motion. As expected, all the optimization routines provide a meaningful energy saving. The least effective way to reduce the energy consumption is to choose constant value for the pitch and yaw: such a method, in the case under consideration, provides a rather modest saving, which falls just below 3%. Rather higher savings can be obtained when a motion of the end-effector pose is allowed: in such cases the estimated energy reduction varies between 15.97% and 18.60%, reaching therefore quite significant energy savings. The best option is, within this test-case selection, to adopt a trapezoidal speed profile, nevertheless other choices provide similar results. By looking at the manipulability too, as reported in Table 5, it can be seen that the non-optimized motion leads to the lowest, i.e., 'worst', manipulability measure. As suggested by this evidence, the effect of the maximization the manipulability on the effective energy consumption is analyzed by the results presented in Table 6. The data show that, regardless of the specific choice of the parametrization of the end-effector pose, the maximization of the manipulability is incapable of reducing the overall energy consumption associated with the task. This means that this simple and commonly used metric is not capable of capturing the complexity of the dynamics associated with the robot energy consumption which involves several other robot properties. The time history of the optimal tool orientation, i.e., the one that minimizes the overall energy cost, is shown in Figure 5. To better highlight the improvement in the energy consumption brought by the proposed method, the time history of the energy required in the non-optimized task and in the energy-optimal task are compared in Figure 6. The significant energy saving resulting from the optimized tool orientation is evident.

Test-Case 2
A second test-case is here proposed, by requiring a motion along a vertical line from P 0 = [0.5, 3, −0.4] T m to P f = [0.5, 3, 0.6] T m. As in the previous test-case, roll angle was kept constant and equal to zero, while the nominal values of roll and pitch were set to, θ = π/2 rad and φ = 3 2 π rad, respectively. The motion duration was set to 1.25 s and the motion of the end-effector followed a trapezoidal speed profile with acceleration and deceleration segments with 312 ms time duration. Again, the optimization of the pitch and yaw motion allowed for a ±π/9 rad angular excursion.
The data collected in Tables 7 and 8 again show that the optimization of the end-effector orientation can lead to meaningful energy saving as high as 8.94%. The performance improvement was smaller than the one achieved for the first test-case: this is probably due to the fact that the energy-based trajectory optimization techniques are more effective for high speed motion, i.e., in all cases in which the inertial forces dominate the dynamics of the robot. The data presented in the two tables show that the energy consumption associated with a task was hardly related to the manipulability index, as the energy-optimal profiles presenedt a manipulability index that was very similar to the one observed for the non-optimized motion. Moreover, maximizing the manipulability measure does not provide any energy improvement, as can be inferred from the data available in Table 8 and as observed in the first test-case.

Conclusions
This works has presented a method to optimize the energy consumption of a robot by exploiting functional redundancy, i.e., the availability of more degrees of freedom in the robot structure than the number of degrees of freedom required by the task. The suggested method, which is based on the use of parametrized motion profiles for the redundant degrees of freedom, is applied to a UR5 serial robot arm, showcasing significant energy reduction in the execution of simple motion tasks. The work shows also that the maximization of the manipulability index, which is commonly used to cope with kinematic and functional redundancy, in most cases fails at improving the energy consumption. The method is applied to six degree of freedom serial arm, but it is of general use, being suitable to any robotic configuration and any motion task, provided that accurate dynamic and electric model of the robot is available. The application of the proposed method has shown that a task can be executed with a significant energetic improvement, that can reach values as high as 20.8% without altering the execution time. These data, together with the one available in the work [19], show that both functional and intrinsic redundancy can be exploited to obtain significant energy reductions, provided that the motion of the redundant degrees of freedom is carefully optimized. In comparison with the previous work, the method presented in this work does not require any hardware modification, thus is it potentially less expensive.