Keywords

1 Introduction

The increased usage of automated manufacturing equipment in industry led to an equivalent increase in energy consumption in this sector, especially due to the complexity of the material transforming processes [1]. Thus, the need to conserve, monitor [2, 3] and optimize energy [4] rises as a direct request for coping with ascending energy costs but also because using and developing green solutions is encouraged by governments, European Union [5] and other bodies around the globe.

In literature there are several solutions reported for the optimization of energy consumption: analytical solutions [6, 7] which, based on the physical characteristics of processing resources, offer a mathematical expression which links the input parameters to the energy consumption, and empirical solutions [8] which make use of measuring equipment to determine the energy consumption. The disadvantage of the first solution is that it relies on a model which in the majority of cases is an approximation of the real system being usually developed for long time operations. In our present research we are interested in counting energy consumption for compact periods of time for which the model does not apply well, and in realizing a knowledge base which will be used to take resource allocation decisions. Thus, we have chosen to implement an energy optimization solution based on smart meters [9].

There are equipment for continuous measurement of energy consumption (smart meters, watt meters) but since manufacturing is operation-based these equipment have to be integrated in a smart way into the shop floor in order to compute the energy consumed for each operation; this requires to integrate smart meters and physical processes with control applications that govern process execution at shop floor level. The aim of this paper is to analyse in real time the energy consumption for equipment which is frequently used in automated manufacturing cells—industrial robots. The analysis of energy consumption has been studied in literature for both household [10] (characterized by connectivity) and industrial applications [11] (characterized by precision) but the novelty of our approach is that it integrates the two modes into a single, easy to procure/configure system which is used to analyse standard robot operations both in assembly and continuous path following applications. Thus we analyse the movement of single joints, the movement of the controlled point (end tip point) and two manufacturing specific operations: pick and place and continuous path movement.

The remainder of the manuscript is organized as follows: section two presents the structure of the energy measurement and operation execution system; section three presents the scenarios used to analyse energy consumption for a single industrial robot, the collected data and selection of optimal operating parameters based on this data; section four extends the energy optimization solution to a set of industrial robots working together in a job-shop manufacturing layout, and the last section presents the conclusions and perspectives of future research.

2 Energy Measurement and Operation Execution Monitoring

The framework used to analyse and optimize energy consumption contains three elements as described in Fig. 1: the monitored resource, the smart energy meter with network connection and the application used to synchronize the data received from the previous two parts.

Fig. 1
figure 1

The energy measurement system

2.1 Monitored Resource

The monitored resource consists of an Adept Cobra S600 [12] industrial robot (ROB) executing handling operations. From an energy consumption point of view its characteristics are: 4 degrees of freedom realized through 4 alternative current motors (M1–M4 in Fig. 1, J1–J4 in Fig. 2 right) supplied through a common power amplifier. It runs a TCP server consisting of a single loop (LOOP_ROB) able to receive handling commands identifying specific operations: DRIVE—actuating a single robot joint; MOVE—joint interpolated motion; MOVES—straight line motion; PP (Fig. 2, left)—pick and place: a combination of joint interpolated and straight line motions which moves an object between two points ( pick , place ); CPF—continuous path following (Fig. 2 right), and after motion execution it responds with a confirmation.

Fig. 2
figure 2

PP (left) and procedural motion (right) configurations

  • LOOP_ROB:

    1. 1.

      Wait for a TCP connection.

    2. 2.

      Extract operation and parameters (speed and acceleration/deceleration).

    3. 3.

      Start timer for measurement during operation execution.

    4. 4.

      Execute operation based on the code and parameters extracted at 2.

    5. 5.

      Confirm execution by sending an acknowledgement containing the execution time, the distance covered by the tool and by each joint.

2.2 Smart Energy Meter

The energy consumed by a manufacturing resource (a robot) is computed by integrating the instantaneous power (current x voltage) over time. In this case we will compute the apparent power as the root mean square of the current IRMS (Eqs. 1, 2) multiplied by the root mean square of voltage URMS (which has a fixed value of 230 V) [13]. Thus the equipment used to measure energy is composed of a non-invasive current transformer connected to the analogue input of an acquisition board which does all the energy calculations and offers this information as a service over Ethernet.

$$ I_{RMS} = \sqrt {\frac{{\mathop \sum \nolimits_{all\;samples} I^{2} }}{number\;of\;samples}} $$
(1)

The implementation of the smart energy meter (SEM), see Fig. 1, consists of a non-invasive current sensor (accuracy 1 %) [14] connected to an Arduino Ethernet board [15] running the LOOP_SEM service which reads the instantaneous current value I, then computes the IRMS using Eq. 1 while storing the time at which the value was calculated. With these values the energy consumed is computed as follows:

$$ W = I_{RMS} *U_{RMS} *dt = I_{RMS} *230*(t - t^{\prime}) $$
(2)

where t is the current time and t′ is the time when the previous current measurement was done.

  • LOOP_SEM:

    1. 1.

      Compute IRMS from a continuous set of samples (Eq. 1)

    2. 2.

      Compute the consumed energy (Eq. 2)

    3. 3.

      Wait for a TCP connection and based on the received command provide the requested information (instantaneous current, energy, time)

2.3 Coordinating Agent

A coordinating agent is used to synchronize the continuous energy consumption with operation execution on products in order to compute the energy consumed by a robot during an operation. It acts as a master over the SEM and ROB executing in parallel the energy monitoring function (LOOP1) and the robot operation execution (LOOP2). Thus, LOOP2 uses information (energy consumption data) computed by LOOP1.

  • LOOP1:

    1. 1.

      Continuously poll energy consumption data

  • LOOP2:

    1. 1.

      Manually or automatically (depending on the operating mode) set the operating parameters and the operation type that has to be executed by the robot.

    2. 2.

      Request operation start and start execution log.

    3. 3.

      Wait acknowledgement of operation execution.

    4. 4.

      Stop log and store data: operation type, speed, accelerations, samples (used to analyse energy patterns: maximum intensity, profile, a.o.).

    5. 5.

      Update operation execution model.

3 Energy Consumption Analysis for Different Types of Robot Motions

3.1 Description of the Testing Scenarios

Industrial robots are integrated in manufacturing cells to automate two types of operations: material handling (through pick_and_place (PP) operations [16]) and material processing (through path following/procedural motions). The target manufacturing cell consists of resources executing both assembly operations realized through PP operations and material processing operations realized through continuous path following (CPF) operations.

The parameters for energy measurement in the case of a PP operation and of a procedural motion (CPF) are as follows:

  1. (i)

    Total distance covered between the three points (starting point— safe , picking point—pick, destination— place and back ) is 1820 mm and was realized using different speed limits and accelerations while the total distance in the continuous path following is ~500 mm,

  2. (ii)

    All experiments have been done using the same handled objects characterized by a small weight (<100 g) which is negligible compared to the maximum payload of the robot (5 kg).

3.2 Measurements and Analysis for a Single Joint

For the first scenario the energies consumed by each joint were measured as described in Table 1.

Table 1 Energy consumed by each robot joint

As expected, the main contribution in energy consumption is brought by J1 (see Table 1).

3.3 Measurements and Analysis for Simple Tool Movements

The second scenario consists of a comparison between a joint interpolated motion (MOVE) and a straight line motion in Cartesian space (MOVES), both executed between the pick and place points (Fig. 2, left).

As can be seen from Fig. 3, a straight line movement consumes more energy and in our particular case (the PP sequence in Fig. 2) this energy increase is influenced by the location of the point of interest, the robot being forced to heavily accelerate and decelerate at the middle of the movement to maintain a straight line. Also, this is the reason why the MOVES command with 90 and 100 % is not possible due to high inertia.

Fig. 3
figure 3

Power difference between a MOVE and a MOVES robot motion instruction

3.4 Measurements and Analysis for the Pick and Place Procedure

The third scenario consists of a comparison for the PP operation (the basic operation used in assembly) executed using different speed and acceleration limitations. Its basic power profile is depicted in Fig. 4 from where it can be observed that the energy consumption rises three times according to the approach pick, approach place, move safe operations.

Fig. 4
figure 4

PP energy consumption profile

Using the same interest points ( pick , place , safe ) the PP operation was executed considering different speed (10–100 %) and acceleration (20, 50 and 100 %) limitations. The energy consumption (Fig. 5) and the operating times (Fig. 6) are described below.

Fig. 5
figure 5

PP energy consumption for different accelerations

Fig. 6
figure 6

Execution time for a PP operation for different speeds and accelerations

The conclusions which can be drawn from this scenario are: (1) increasing acceleration increases consumption; (2) increasing the operation speed limit has two effects: (i) an increase of the acceleration duration which causes an increase of energy and (ii) a decrease of operation time which decreases energy (P*dt). By combining these two effects, and due to the fact that acceleration determines a non-linear increase of energy it results that less energy is consumed for an intermediary speed, which is experimentally confirmed; (3) energy consumption varies if the same experiment is executed several times. However, the standard deviation for all experiments does not exceed 5 %.

3.5 Measurements and Analysis for Continuous Path Movement

The fourth scenario consists in monitoring the process of continuous path generation and following (Fig. 2 right). The data obtained from this experiment allows drawing the power profile (Fig. 7), the energy consumption and execution time diagrams for a variable speed limit (10–100 %), see Fig. 8.

Fig. 7
figure 7

Power profile for a procedural motion operation consisting of a circular path

Fig. 8
figure 8

Procedural motion energy consumption and execution time

The conclusion which can be drawn from this scenario is that the additional energy consumed for continuous path following has small variations (Fig. 7) especially due to the fact that the accelerations are eliminated once the cruise speed is attained. The power profile is influenced by the path’s shape and by the robot structure. In our particular case (Fig. 2 right) the robot is following a circular path starting from near the base and extending towards the exterior. This continuous path energy consumption (Fig. 7) generates two maximum power consumption points corresponding to 90° and 270° of the circle and one minimum located at 180°, where the robot is extended. The energy is the product between the time and the average power. The average power does not differ significantly for different speed limitations during a continuous path movement but the time decreases, which generates an energy reduction.

4 Evaluating the Energy Consumption for a Multi-robot Manufacturing System

The energy measurement principle and operation execution system proposed in Sect. 2 were developed in order to be replicated and integrated over a set of robotic resources working together in a flexible manufacturing cell, where they are disposed as described in the shop floor layout depicted in Fig. 9 to allow cost effective job-shop production sequences. Energy measurement and operation execution monitoring are done at workstation level (a SEM_i device is used to monitor energy consumption at workstation Pi, 1 ≤ i ≤ 4). Each workstation Pi contains one robot (P1, P2) or two robots and a machine tool (P3, P4). These resources can execute a set of operations characterized by different parameters (speed, acceleration, execution time, timeliness and energy consumption).

Fig. 9
figure 9

Robotized manufacturing system layout

During initial, centralized production planning, job scheduling and resource allocation, the operation type (defined by the product agent) is mapped to a PP or CPF robot motion task along with its speed and acceleration constraints which are set in a range of values leading to reasonable execution time and consumed energy. Thus, the energy measurement and operation execution system are used to provide continuously updated data for a Resource Service Access Model (RSAM) which describes the particularities of all operations that can be executed in the manufacturing cell and their execution mode [host robot, operation type, modes of execution (speed, acceleration, execution time, timeliness and energy consumption)] (Fig. 9). Based on this model the optimization of robot scheduling can be done with different objective functions such as: consumed energy, makespan, total production cost, a.o. [17, 18].

The manufacturing cell features a high degree of flexibility meaning that some operations can be executed by different robot workstations, but with different energy footprints due to the fact that resources are different (SCARA and vertical articulated robots, 3- and 4-axis CNC milling machines). This flexibility justifies operation scheduling and resource allocation processes, which in this case are launched at the beginning of production or whenever a resource changes its state or when the conditions met initially at the moment of scheduling differ from the current conditions at execution time. This difference is detected using a final interaction protocol between the product to be executed and the resource executing the operation [19].

The parameters collected from the previous operations (resource, operation, execution time, acceleration limit, speed limit, execution time stamp) are stored and used as input data for the next resource scheduling. Thus, resource scheduling is done by computing a preference coefficient that describes the degree of preference for executing a given operation on a given resource (robot). The coefficients are a sum of weighted factors (K1–K3 in Eq. 3), resulted from experiments; their choice is justified by the initial performances and their awards/penalties accumulated during previous usage. These factors, which are offered by the RSAM include:

  • resource status ([rs], online or offline), and resource operations status (a resource can be online but cannot offer a certain service due to the lack of raw materials);

  • energy consumption for operation [ec]: the energy consumed for executing an operation with specified parameters (speed and acceleration);

  • resource availability [ra]: the time interval after which the resource is available;

  • service execution time [set]: the time for executing an operation with specified parameters (speed and acceleration);

  • accessibility [tt]: the time of transporting the product to the selected resource.

Hence, the preference coefficient for operation i (Val_op i ) is computed as follows, if the resource status is “online”:

$$ {\text{Val}}\_{\text{op}}_{i} = {\text{ K1}}*ec + {\text{ K2}}*ra + {\text{ K3}}*set + {\text{ K4}}*tt $$
(3)

The result of the scheduling process is an ordered series of operations along with the chosen resource for each operation and optimal operating parameters consisting of robot processing speed and acceleration.

The sequence diagram detailing the final interaction between an order agent and a resource agent (which will integrate the functionality of energy measurement) is presented in Fig. 10. The outcome of the final dialog can be either the execution of the operation or its rescheduling on another robot if the current conditions (resource status and operation execution time, energy consumption and quality) differ significantly from the initial ones.

Fig. 10
figure 10

Detailed description of the final interaction protocol (right side of Fig. 1)

A different energy consumption pattern, besides the invalidation of the last schedule, may signal a faulty motor prompting thus preventive resource maintenance [20].

5 Conclusion

This paper proposes a cost-effective solution for monitoring the energy consumption of an industrial single phase robot system. The energy is determined by measuring the instantaneous current consumed for sets of standard operations. The paper focuses on a four degree of freedom industrial robot executing four types of operations: single joint movement, movement in linear joint and Cartesian space, pick and place motion sequence and continuous path movement.

As seen from these measurement experiments, the consumed energy increases at higher operating speeds but the robot acceleration is the parameter that most significantly influences the consumed energy. This is why it is advisable even for handling operations to define and execute continuous motion paths in order to limit trajectory discontinuities which involve accelerations, avoiding thus motor overloads, overheating and consequently reducing the frequency of maintenance.

As expected, moving the robot at maximum or minimum speed does not optimize energy consumption, the solution lying somewhere in between these extreme values and depending heavily on the robot structure, the payload and the serviced locations. In the case of handling operations the optimal energy consumption is obtained in the range of speed between 20 and 30 % of the maximal robot speed value (Fig. 5).

The computation of the optimal motion operating parameters is difficult to be done analytically (due to the difficult access to motors to estimate their real characteristics); this is why an experimental solution which measures in real time energy consumption and adjusts the cruise speed and acceleration is a better one. By implementing this solution an improved monitoring of the motion process (allowing also the computation of the final energy foot print) was obtained.

Future research will address the following directions: (i) testing the accuracy of the SEM equipment and improving its performance if necessary and (ii) collecting energy data over longer periods of robot motion execution to estimate energy consumption variations in time and update consequently the resource’s performances which will be used in product scheduling (resource allocation).