1. Introduction
In recent years, the industrial sector has experienced a steady increase in the deployment of robotic systems, since robots can support or replace human operators in dangerous and repetitive tasks, while increasing productivity and process quality [
1]. Nevertheless, this trend has resulted in a growth in the overall energy demand [
2]. As a consequence, improving energy efficiency in robotics has become a key factor for the sustainable development of modern industry [
3,
4]. This need is also emphasized by the Sustainable Development Goals (SDGs) of the United Nations [
5], as in the SDG9 (Industry, Innovation, and Infrastructure), and in the SDG12 (Responsible Consumption and Production).
The reduction in energy consumption in robotic systems can be achieved through several strategies. These include the design and optimization of the robot’s physical structure [
6], the integration of energy-efficient components such as regenerative drives [
7], as well as the optimization of the configuration of modular robots [
8]. Furthermore, alternative approaches to minimize the energy expenditure are the optimization and exploitation of joint elastic properties [
9,
10], the optimal positioning of the task within the robot workspace [
11,
12], the optimization of the execution time [
13,
14], and motion law parameters [
15,
16,
17].
When dealing with redundant robotic systems, leveraging kinematic redundancy could be a further strategy to achieve energy efficiency. A robotic system is considered kinematically redundant when its number
N of degrees of freedom (DOFs) exceeds the number
R of operational space variables required to describe a pre-defined task [
18]. Redundancy increases the flexibility of redundant robots with respect to non-redundant ones, since it can be exploited to fulfill a secondary task (e.g., collision avoidance, manipulability maximization, or energy efficiency), without altering the motion of the end-effector during the execution of the desired primary operation [
19]. In the literature, a wide range of redundancy resolution approaches has been investigated. For example, the solution to the inverse kinematics problem can be obtained with the purpose of avoiding collisions and singularities and maximizing manipulability. In this context, Monari et al. present an approach that relies on null space projection to avoid collisions [
20]. Differently, the authors in [
21] propose avoiding self-collisions by adding an interference vector, obtained from reinforcement learning, to the joint velocities in the computation of the pseudo-inverse of the Jacobian matrix. The authors in [
22] consider null space projection for avoiding singularities, solving the inverse kinematics problem locally. Moreover, Vu et al. present an approach for finding the solution of the inverse kinematics that maximizes the manipulability thanks to an artificial neural network [
23]. Nguyen et al. achieve several secondary tasks, i.e., collision avoidance, manipulability maximization, and singularity avoidance through null space projection [
24]. Kinematic redundancy can also be exploited for respecting joint limits. An example is the Saturation in the Null Space (SNS) approach [
25,
26], which considers joint limits as hard constraints. That approach adopts null space projection and a task-scaling strategy for redistributing the joints motion in order to ensure task feasibility.
Energy efficiency is another secondary task that can be fulfilled through optimal redundancy resolution. Doan et al. propose to minimize the consumed energy during a welding operation by optimizing the end-effector torch angle with a modified particle swarm optimization scheme, also avoiding collisions and joint limits [
27]. Ruiz et al. consider motion predictive control for finding the energy-optimal position of the redundant joints in a planar parallel robot, keeping it steady during motion [
28]. Furthermore, the authors in [
29] propose reducing the energy expenditure through the optimization of the Cartesian inertia of the robot, whereas Li et al. propose an energy-optimal redundancy resolution approach combining deep reinforcement learning and an artificial neural network [
30].
Differently from previous approaches, in this paper we present a strategy for energy-efficient trajectory planning in redundant robotic systems, based on the optimization of the position of selected redundant joints at each of the waypoints that define the task to be executed, given the total execution time. In this manner, the solution of the inverse kinematics is not left to chance, but it is selected through an optimization procedure that aims at maximizing the energetic performance of the system. The proposed approach is validated on two different robotic systems, i.e., a seven-DOF robotic manipulator and eight-DOF robot (composed of a seven-DOF arm mounted on a linear axis). A point-to-point motion and a pick-and-place task are adopted as test cases. The results of extensive numerical simulations and experimental tests allow us to quantify the actual savings of the proposed approach, and demonstrate its capability to reduce energy consumption with respect to reference trajectories. The experimental results highlight a percentage reduction of energy consumption up to 82.54% with the seven-DOF arm, and up to 94.28% with the eight-DOF robot.
This work is an extended version of our previous conference paper in [
31]. With respect to [
31], the following improvements are implemented here: (i) the evaluation of the performance of the proposed approach considering two robotic systems with a different degree of redundancy, to demonstrate the modularity and scalability of our strategy; (ii) the comparison with the Saturation in the Null Space approach in [
25]; (iii) the results of an extensive experimental validation of the proposed approach, assessing the energy consumption reduction with respect to reference trajectories.
The paper is organized as follows:
Section 2 describes the proposed approach for achieving energy efficiency in redundant robotic systems.
Section 3 illustrates the considered case studies.
Section 4 reports the numerical results and the comparison with the SNS approach, whereas the experimental validation of the proposed approach is illustrated in
Section 5. Finally,
Section 6 concludes the work.
2. Kinematic Redundancy for Energy Efficiency
In this paper, an approach for minimizing the energy consumption of redundant robotic systems is proposed. The strategy exploits kinematic redundancy to optimize the solution of the inverse kinematic problem and define an energy-optimal trajectory of the robot. The proposed approach takes as inputs a sequence of waypoints defined in the 3D space as positions and orientations that the end-effector of the robot has to reach during its motion, and the time distances between each pair of consecutive waypoints (with a total execution time T). Before the optimization, a number of joints equal to the degree of redundancy () of the considered robotic system is considered. Then, the proposed strategy aims at optimizing the position of the selected set of redundant joints for each waypoint. In this way, the positions of the redundant joints are considered as optimization variables, enabling the algorithm to obtain the optimal solution of the inverse kinematic problem at each waypoint by adjusting the robot configuration, without altering the desired end-effector pose. Once the joint configuration is defined for each waypoint, the joint-space trajectory () is derived through interpolation between the waypoints.
The joint torques required to drive the robot along the desired trajectory can be computed as:
where
is the mass matrix and
accounts for the Coriolis and centrifugal effects, whereas
represents the gravitational term. Furthermore,
takes the friction effects into account. The optimization problem presented in this work is formulated as:
where
represents the mechanical power of the
i-th joint of the
N-DOF robot computed from the absolute values of the corresponding joint torque and joint velocity.
E accounts for the total mechanical energy required by the robot to execute the desired motion, including the energy needed during both the acceleration and deceleration phases. In this work, regenerative effects and energy recovery during braking phases are not considered. This choice is motivated by the fact that the majority of industrial robots are not equipped with power regeneration systems and, therefore, cannot recover braking energy, which is instead dissipated as heat on a resistor.
The optimization problem in Equation (
2) is subject to the following constraints:
This paper focuses on mechanical energy, which is directly determined by the robot trajectories and thus represents a relevant measure for evaluating the effectiveness of the proposed optimization strategy in terms of energy expenditure. The robotic system is modeled as an open kinematic chain of rigid bodies, and the joints are considered to be ideal without clearance. The proposed approach assumes that the robot nominal kinematics and dynamics parameters, along with its kinematics and dynamics limits, are known. Moreover, this work does not account for uncertainty in the robot dynamics parameters.
3. Case Studies
In this section, we first describe the two redundant robotic systems considered in this work. Then, the trajectories designed for evaluating the performance of the proposed approach are presented.
3.1. 7-DOF Robot
In the first case study, we consider a Panda arm by Franka Robotics GmbH (Munich, Germany) with seven degrees of freedom (
Figure 1). The robot has an operational reach equal to 855 mm, a pose repeatability of ±0.1 mm, and a payload of 3 kg. The joint torques and the consumed mechanical energy are computed as in Equation (
1), considering the dynamic model of the Panda arm identified in [
32]. The model in [
32] describes friction forces as a sigmoidal function that also accounts for friction torques at low joint velocities. In the considered test case, the robot executes the prescribed trajectories with no payload applied to its end-effector.
If a six-dimensional task is considered, the degree of redundancy of the arm is equal to . In this case, the position of only one joint of the robot is selected for the energy-efficient optimization at each path point. In different independent optimizations, all joints of the seven-DOF robot are considered as optimization variables, with the aim of determining which leads to the greatest energy saving with respect to a reference case.
Although the proposed approach selects a specific number of redundant joints and optimizes their positions at waypoints, the target of the optimization is the definition of an optimal robot configuration, which is the inverse kinematics solution based on those joint position values. Therefore, the selection of a specific joint (or set of joints) to be optimized influences the way of exploring the space of candidate solutions of the optimization problem (robot configurations) within the infinite space of possible solutions of the inverse kinematics. The joints that provide the largest energy savings are those that allow a better exploration of the solution space and help avoid potential local minima in the optimization. By optimizing these joints, the proposed strategy can more effectively adjust the robot configuration along the trajectory, leading to more significant reductions in mechanical energy. The choice of which joint to optimize is not absolute, as it depends on multiple factors, including the specific task to be executed, the desired trajectory, and the characteristics of the robotic system. Therefore, predicting the most effective joint for a given case is not straightforward and represents an interesting and challenging direction for future work.
3.2. 8-DOF Robot
In the second case study, we consider a robotic system composed of a Panda arm mounted on a linear axis, shown in
Figure 2. The Panda arm is the same considered in the first test case, and its modeling approach is described in
Section 3.1. As in the previous case, no payload is considered to be applied to the robot end-effector. The linear axis has a total length of 0.8 m and allows it to move the base of the arm using a cart driven by means of a pulley-belt system. The driven pulley is actuated by a brushless motor through a planetary gearbox. A graphical overview of the belt-driven linear axis is shown in
Figure 3.
The total number of degrees of freedom of the robotic system is equal to 8. When considering a six-dimensional task, the degree of redundancy is equal to . Therefore, for each considered waypoint it is required to optimize the positions of two redundant joints to find an energy-optimal solution of the inverse kinematics problem. Given that the positions of two different redundant joints have to be optimized for each waypoint, in this second test case we evaluate all possible combinations of two different joints to be optimized in order to find the one that minimizes the energy consumption. As in the first case study, determining a criterion for the selection of the pair of joints to be optimized is beyond the scope of this work. Compared to the first robotic arm, the increased degree of redundancy (and the resulting higher number of optimization variables) expands the possibilities of trajectory optimization. However, the eight-DOF robotic system includes one additional motor compared to the previous case, which can result in higher energy consumption.
The dynamic parameters needed to compute the joint torques and the mechanical energy consumption of the linear axis are retrieved from [
14]. The joint torque
of the linear axis required to execute the trajectory (
) can be obtained as
where
denotes the sum of the masses of the cart and the robotic arm and
is the gear ratio.
,
, and
represent the inertia of the motor, gearbox, and pulleys, respectively. The parameter
r represents the pulley radius, whereas
,
,
, and
are the coefficients considered for modeling Coulomb (
) and viscous friction (
), as well as low-speed friction effects (
). The values of these parameters used in the numerical optimizations are reported in
Table 1.
3.3. Tested Trajectories
The performance of the proposed optimization approach is evaluated through two six-dimensional tasks defined in the 3D space. The first test case (named Test A) is a point-to-point motion defined by two waypoints, shown in
Figure 4. The linear distance between the waypoints is equal to 1.0 m, and the movement has to be executed in a total time equal to
T = 2.5 s. The trajectory is planned using a fifth-degree polynomial motion law in the joint space. The position of the waypoints of Test A for the two considered robotic systems with respect to their base reference frame are reported in
Table 2. The base reference frames of the seven-DOF and the eight-DOF robots are shown in
Figure 1 and
Figure 2, respectively. The orientation of the end-effector is defined using angles
,
, and
and following the roll–pitch–yaw convention.
For the second test (Test B), we consider a pick-and-place task, composed of two vertical movements and one horizontal translation. The task is defined by four waypoints in the 3D space, as it can be seen in
Figure 5. The vertical ascent and descent are 0.3 m long and have to be executed in 1.3 s each, whereas the horizontal movement has a length equal to 0.8 m and a duration of 2.4 s. The total execution time is equal to 5 s. Spline curves are adopted to plan the trajectories of the robots through the selected waypoints. More specifically, the considered spline algorithm uses fourth-degree polynomials for the initial and final segments of the motion, whereas third-degree polynomials are employed for the intermediate segments. The position of the waypoints of Test B for the two considered robotic systems with respect to their base reference frame are reported in
Table 3.
For each test and each case study, we define a reference case with respect to which the energy consumption reduction is computed. The reference cases are defined by selecting for each waypoint the solution of the inverse kinematics closest to a homing position. The joint positions in the homing configurations for both considered robotic systems are reported in
Table 4. The joint
represents the linear axis, whereas the joints from
to
are the joints of the Panda arm.
The optimization problem defined in Equation (
2) with Equation (
3) is implemented in Matlab 2024b by MathWorks (Natick, MA, USA) using the genetic algorithm
ga. We consider this optimization algorithm since it is able to better analyze the entire space of possible solutions with respect to gradient-base ones. The population size is set equal to 100 for Test A of the seven-DOF robot (two optimization variables), and equal to 150 for Test B of the seven-DOF robot and Test A of the eight-DOF one (four optimization variables). Furthermore, for Test B of the eight-DOF robot (eight optimization variables), a population size equal to 200 is chosen. The numerical tests are performed on a computer running Windows 10 Pro with an Intel Core i9-10900 CPU @ 2.80 GHz and 32.0 GB of RAM.