Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

13.1 Introduction

In the manufacturing industry, machines and robots controlled by actuators are used to increase productivity and achieve high quality products. However, these actuators are consuming a great amount of energy accelerating and braking continuously. Hence, saving the energy of such mechanical systems is a very important issue.

Existing methods for reducing the energy consumption of industrial robots in manufacturing systems have been recently reviewed by Paryanto et al. [1]. There are three main approaches found as follows.

  • Energy-efficient motion planning:

    • Optimizing robot dynamics,

    • Collision free motion planning,

    • Smooth and time-optimal motion planning,

    • Optimal robot control systems,

    • Electrical energy exchange via internal DC bus.

  • Optimal robot operation parameters:

    • Experimental approach,

    • Modelling and simulation approach,

    • Combination of experiments and simulation.

  • Scheduling robot operations:

    • Optimal robot process sequences,

    • Start–stop optimization,

    • Optimizing robot cycle time.

Recuperated energy saving potential and approaches in industrial robotics were considered by Meike and Ribickis [2]. These authors present experimental and simulation results for two complementary alternatives: a capacitive energy buffer on the robot’s DC-bus and a novel approach, the robot EnergyTeam. The principle of the robot EnergyTeam is a DC-bus merging among a various number of industrial robot power controllers thus enabling a controlled energy flow among the robots that decelerate and, therefore recuperate energy, and those that simultaneously require a peak power supply for the acceleration.

A path planning approach for the amplification of electrical energy exchange in multi axis robotic systems was presented by Hansen et al. [3]. The energy-based system model includes the robot dynamics, mechanical and drive losses, as well as the exchange of electrical energy. The nonlinear optimization problem is solved using global methods, considering kinematical and dynamic limitations. Simulations results are presented that prove the performance of the algorithm and demonstrate the beneficial effect of electrical energy exchange. Minimum time criteria can be retained if required and the approach is applicable to different multi axis manipulator types.

Resonant robotic systems were considered by Babitzky and Shipilov [4]. These robotic systems include spring accumulators and use control design with minimal energy consumption.

The standard task of industrial robots is a planned repetitive motion with a short cycle time. Such periodic motions result in phases of high accelerations and deceleration featuring high energy losses. Therefore, local energy storage transforming kinetic energy in reusable potential energy is attractive. Springs are reliable passive mechanical components for energy storage. Methods for reducing the consumed energy of controlled multibody systems by utilizing passive storage elements such as springs have been recently examined, see Refs. [57].

In this paper, we consider the case of a planar NDOF serial manipulator with springs as in shown Fig. 13.1. Firstly, we analyze theoretically how to choose the spring stiffnesses, spring mounting positions, and robot motion trajectories to maximize energy savings. Based on the results of the analysis, we propose a simultaneous optimization method of spring parameters and trajectories. We show the effectiveness of the proposed method by numerical simulations.

In theory, we can achieve zero energy consumption by our method, but in practice the method can not be directly applied to a conventional manipulator since it utilizes the free frictionless vibrations of the system. Therefore, we next consider the practical design and control problems to realize the proposed energy saving robot concept. We propose a design method that utilizes the linear springs and controlled reaction wheels and develop a prototype 2DOF energy saving manipulator based on the method. Finally, the effectiveness of the proposed method is verified through lab experiments.

Fig. 13.1
figure 1

Planar NDOF serial manipulator with storage springs

13.2 Energy Saving Control Method Using Springs

This paper discusses the reduction of the energy consumption of SCARA robots by adding springs to the joints as shown in Fig. 13.1. In this chapter, we consider the simultaneous optimization problem of spring parameters and robot trajectories that minimizes the energy consumption based on the optimal control theory.

13.2.1 Problem Formulation

The equations of motion of N-link serial horizontal manipulators equipped with springs can be expressed as follows

$$\begin{aligned} \varvec{M}(\varvec{\theta })\ddot{\varvec{\theta }} +\varvec{h}(\varvec{\theta },\dot{\varvec{\theta }}) = -\varvec{K}(\varvec{\theta }-\varvec{\theta }_n) +\varvec{u}, \end{aligned}$$
(13.1)

where \(\varvec{\theta }=[\theta _1,\theta _2,\ldots ,\theta _N]\in R^N\) is the joint variable vector, \(\varvec{M}\in R^{N\times N}\) is the inertia matrix, \(\varvec{h}\in R^N\) is the vector of centrifugal and Coriolis forces, \(\varvec{u}=[u_1,u_2,\ldots ,u_N]\in R^N\) is the vector of direct driving torques, \(\varvec{K}=\mathrm {diag}[k_1,k_2,\ldots ,k_N]\in R^{N \times N}\) is the rotational stiffness matrix, \(\varvec{\theta }_n =[\theta _{n1},\theta _{n2},\ldots ,\theta _{nN}]\in R^N\) is the vector of spring mounting positions which is vanishing in Fig. 13.1. Here, we consider motions between two points and rest at both ends, i.e.,

$$\begin{aligned} \varvec{\theta }(0)= & {} \varvec{\theta }_0, \quad \varvec{\theta }(t_f) = \varvec{\theta }_f, \end{aligned}$$
(13.2)
$$\begin{aligned} \dot{\varvec{\theta }}(0)= & {} \varvec{0}, \quad \dot{\varvec{\theta }}(t_f) = \varvec{0}, \end{aligned}$$
(13.3)

where \(\varvec{\theta }_0\) and \(\varvec{\theta }_f\) are the initial and final configurations and \(t=t_f\) is the robot cycle time. The energy consumed by this motion can be estimated by the following cost function

$$\begin{aligned} J=\int _0^{t_f}f_0(\varvec{x},\varvec{u})dt,\ f_0(\varvec{x},\varvec{u})=\frac{1}{2}\varvec{u}^T\varvec{W}\varvec{u}, \end{aligned}$$
(13.4)

where \(\varvec{W}\in R^{N\times N}\) is a positive definite symmetric matrix.

The problem considered in this section can be formulated as follows: Find \(\varvec{u}(t)\), \(\varvec{\theta }(t)\), \(\varvec{\theta }_n\) and \(\varvec{k}=[k_1,k_2,\ldots ,k_{N}]^T\) by minimizing the energy consumption (13.4) subject to the initial and final conditions (13.2) and (13.3) for the system (13.1).

13.2.2 Theoretical Analysis of Minimum Energy Control

It is difficult to obtain analytical solutions of the problem formulated in Sect. 13.2.1 since the Eq. (13.1) has a strong nonlinearity. Hence, in this section, we analyze the problem approximately by using the linearization and modal analysis techniques.

Firstly, we shift the reference point to the middle point of the initial and final configurations in order to make the later calculations easy. We define \(\varvec{\theta }_m = \frac{1}{2}(\varvec{\theta }_f+\varvec{\theta }_0)\) and \(\varvec{\theta }_e = \frac{1}{2}(\varvec{\theta }_f-\varvec{\theta }_0)\), and shift the coordinates as \(\tilde{\varvec{\theta }}(t)=\varvec{\theta }(t)-\varvec{\theta }_m\), \(\tilde{\varvec{\theta }}_n=\varvec{\theta }_n-\varvec{\theta }_m\). This transforms the initial and final conditions to the symmetric form

$$\begin{aligned} \tilde{\varvec{\theta }}(0)= & {} -\varvec{\theta }_e, \quad \tilde{\varvec{\theta }}(t_f) = \varvec{\theta }_e,\end{aligned}$$
(13.5)
$$\begin{aligned} \dot{\tilde{\varvec{\theta }}}(0)= & {} \varvec{0}, \quad \dot{\tilde{\varvec{\theta }}}(t_f) = \varvec{0}. \end{aligned}$$
(13.6)

And the equations of motion (13.1) is transformed to the following form

$$\begin{aligned} \tilde{\varvec{M}}(\tilde{\varvec{\theta }})\ddot{\tilde{\varvec{\theta }}} +\tilde{\varvec{h}}(\tilde{\varvec{\theta }},\dot{\tilde{\varvec{\theta }}}) +\varvec{K}\tilde{\varvec{\theta }} = \varvec{u} +\varvec{K}\tilde{\varvec{\theta }}_n. \end{aligned}$$
(13.7)

If it is assumed that fairly strong springs are used, the spring forces become predominant over the centrifugal and Coriolis forces. Therefore, we neglect these forces. Additionally, we assume that the inertia matrix can be approximated at the middle point \(\tilde{\varvec{\theta }}=\varvec{0}\) (\(\varvec{\theta }=\varvec{\theta }_m\)) as \(\varvec{M}(\varvec{\theta }_m) = \tilde{\varvec{M}}(\varvec{0}) \equiv \hat{\varvec{M}} =\mathrm {const}\). Under these assumptions, the following linearized equations of motion are obtained

$$\begin{aligned} \hat{\varvec{M}}\ddot{\tilde{\varvec{\theta }}} +\varvec{K}\tilde{\varvec{\theta }} = \varvec{u} +\varvec{K}\tilde{\varvec{\theta }}_n. \end{aligned}$$
(13.8)

Let us consider the free vibration system corresponding to Eq. (13.8) and calculate the modal matrix \(\varvec{\varPhi }\in R^{N\times N}\) that satisfies

$$\begin{aligned} \varvec{\varPhi }^T\hat{\varvec{M}}\varvec{\varPhi }=\varvec{I},\varvec{\varPhi }^T\varvec{K}\varvec{\varPhi }=\varvec{\varOmega }^2, \varvec{\varOmega }=\mathrm {diag}[\omega _1,\omega _2,\ldots ,\omega _N], \end{aligned}$$
(13.9)

where \(\varvec{I}\) is the identity matrix, \(\omega _i\) is the ith natural frequency arranged as \(\omega _1<\omega _2<\cdots <\omega _N\) where some of the lowest may vanish. We make the coordinate transformation \(\varvec{q}=\varvec{\varPhi }^{-1}\tilde{\varvec{\theta }}\) (\(\varvec{q}_n=\varvec{\varPhi }^{-1}\tilde{\varvec{\theta }}_n\)) and define the state vectors \(\varvec{x}=[\varvec{x}_1^T, \varvec{x}_2^T]^T=[\varvec{q}^T, \dot{\varvec{q}}^T]^T\). Then, the following state equations are found

$$\begin{aligned} \dot{\varvec{x}}_1= & {} \varvec{x}_2\ (\equiv \varvec{f}_1(\varvec{x},\varvec{u})), \end{aligned}$$
(13.10)
$$\begin{aligned} \dot{\varvec{x}}_2= & {} -\varvec{\varOmega }^2 \varvec{x}_1+\varvec{\varPhi }^T \varvec{u}+\varvec{\varOmega }^2 \varvec{q}_n\ (\equiv \varvec{f}_2(\varvec{x},\varvec{u})). \end{aligned}$$
(13.11)

The initial and final conditions are expressed as

$$\begin{aligned} \varvec{x}_1(0)= & {} -\varvec{q}_e,\quad \varvec{x}_1(t_f) = \varvec{q}_e, \end{aligned}$$
(13.12)
$$\begin{aligned} \varvec{x}_2(0)= & {} \varvec{0},\qquad \varvec{x}_2(t_f) = \varvec{0}, \end{aligned}$$
(13.13)

where \(\varvec{q}_e=\varvec{\varPhi }^{-1}\varvec{\theta }_e\).

Next, let us introduce an adjoint vector \(\varvec{\psi }=[\varvec{\psi }_1^T, \varvec{\psi }_2^T]^T\) and define the Hamiltonian as follows

$$\begin{aligned} H=f_0+\varvec{\psi }_1^T\varvec{f}_1+\varvec{\psi }_2^T\varvec{f}_2=\frac{1}{2}\varvec{u}^T\varvec{W}\varvec{u}+\varvec{\psi }_1^T\varvec{x}_2+\varvec{\psi }_2^T(-\varvec{\varOmega }^2\varvec{x}_1 +\varvec{\varPhi }^T\varvec{u}+\varvec{\varOmega }^2\varvec{q}_n). \end{aligned}$$
(13.14)

Then, the optimal control is derived from the condition \(\partial H/\partial \varvec{u}=\varvec{0}\) as

$$\begin{aligned} \varvec{u}=-\varvec{W}^{-1}\varvec{\varPhi }\varvec{\psi }_2. \end{aligned}$$
(13.15)

Substituting Eq. (13.15) into Eq. (13.14), the Hamiltonian along the optimal trajectory is given by

$$\begin{aligned} H=\varvec{\psi }_1^T\varvec{x}_2-\varvec{\psi }_2^T\varvec{\varOmega }^2\varvec{x}_1-\frac{1}{2}\varvec{\psi }_2^T\varvec{\varPhi }^T\varvec{W}^{-1}\varvec{\varPhi }\varvec{\psi }_2+\varvec{\psi }_2^T\varvec{\varOmega }^2\varvec{q}_n. \end{aligned}$$
(13.16)

From Eq. (13.16), the canonical equations of Hamilton can be derived as follows

$$\begin{aligned} \dot{\varvec{x}}= & {} \partial H/\partial \varvec{\psi }=\varvec{A}\varvec{x}+\varvec{B}\varvec{\psi }+\varvec{c}_n, \end{aligned}$$
(13.17)
$$\begin{aligned} \dot{\varvec{\psi }}= & {} -\partial H/\partial \varvec{x}=-\varvec{A}^T\varvec{\psi }, \end{aligned}$$
(13.18)

where

$$\begin{aligned} \varvec{A} = \left[ \begin{array}{cc} \varvec{0} &{} \varvec{I}\\ -\varvec{\varOmega }^2 &{} \varvec{0} \end{array} \right] , \varvec{B} = \left[ \begin{array}{cc} \varvec{0} &{} \varvec{0}\\ \varvec{0} &{} -\varvec{\varPhi }^T\varvec{W}^{-1}\varvec{\varPhi } \end{array} \right] , \varvec{c}_n = \left[ \begin{array}{@{\,}c@{\,}} \varvec{0}\\ \varvec{\varOmega }^2\varvec{q}_n \end{array} \right] . \end{aligned}$$
(13.19)

By solving the differential equations (13.17) and (13.18) under the boundary conditions (13.12) and (13.13), we obtain the optimal solution that minimizes the energy consumption. However, it is difficult to obtain the closed-form analytical solution of these equations since they are coupled due to the term \(\varvec{\varPhi }^T\varvec{W}^{-1}\varvec{\varPhi }\) in the matrix \(\varvec{B}\). In contrast, choosing the weighting matrix as \(\varvec{W}=\hat{\varvec{M}}^{-1}\) results in the cost function of mechanical power and allows to decouple these equations by the property \(\varvec{\varPhi }^T\varvec{W}^{-1}\varvec{\varPhi }=\varvec{\varPhi }^T\hat{\varvec{M}}\varvec{\varPhi }=\varvec{I}\). Therefore, in the following, we analyze this case.

Let us denote the initial value of adjoint vector as \(\varvec{\psi }(0)\), then the solution of Eq. (13.18) reads

$$\begin{aligned} \varvec{\psi }(t)=\varvec{e}^{-\varvec{A}^T t} \varvec{\psi }(0). \end{aligned}$$
(13.20)

By using Eq. (13.20), the solution of Eq. (13.17) is derived as

$$\begin{aligned} \varvec{x}(t)= \varvec{e}^{\varvec{A} t} \varvec{x}(0) +\varvec{e}^{\varvec{A} t} \int _0^{t}\varvec{e}^{-\varvec{A}\tau } \varvec{B} \varvec{e}^{-\varvec{A}^T\tau } d\tau \varvec{\psi }(0) +\varvec{e}^{\varvec{A} t} \int _0^{t}\varvec{e}^{-\varvec{A}\tau } d\tau \varvec{c}_n. \end{aligned}$$
(13.21)

If the final condition \(\varvec{x}(t_f)\) is specified, \(\varvec{\psi }(0)\) can be computed from Eq. (13.21) as follows

$$\begin{aligned} \varvec{\psi }(0) = \left[ \int _0^{t_f}\varvec{e}^{-\varvec{A} t} \varvec{B} \varvec{e}^{-\varvec{A}^T t} dt\ \right] ^{-1} \times \left[ \varvec{e}^{-\varvec{A} t_f} \varvec{x}(t_f) - \varvec{x}(0) - \int _0^{t_f}\varvec{e}^{-\varvec{A} t} dt \varvec{c}_n\right] . \end{aligned}$$
(13.22)

Then, by substituting this \(\varvec{\psi }(0)\) into Eq. (13.20), \(\varvec{\psi }_2(t)\) is obtained as

$$\begin{aligned} \displaystyle \varvec{\psi }_2(t) \!= & {} \! [\psi _{21}(t)\ \psi _{22}(t)\ \ldots \ \psi _{2N}(t)]^T, \end{aligned}$$
(13.23)
$$\begin{aligned} \displaystyle \psi _{2i}(t) \!= & {} \! \frac{2\omega _i^2\{\sin \omega _i(t_f-t)\!-\!\sin \omega _it\}}{\sin \omega _it_f\!-\!\omega _it_f}q_{ei} \!+\!\frac{2\omega _i^2\{\sin \omega _i(t_f-t)+\sin \omega _it\}}{\sin \omega _it_f+\omega _it_f}q_{ni},\nonumber \\ \end{aligned}$$
(13.24)

where \(q_{ei}\) and \(q_{ni}\) is the ith element of \(\varvec{q}_{e}\) and \(\varvec{q}_{n}\) respectively. From Eq. (13.15), \(\varvec{W}=\hat{\varvec{M}}^{-1}\), and Eq. (13.23), the optimal control \(\varvec{u}(t)\) can be computed by

$$\begin{aligned} \varvec{u}(t)=-\hat{\varvec{M}}\varvec{\varPhi }\varvec{\psi }_2(t). \end{aligned}$$
(13.25)

Furthermore, by Eq. (13.25) and \(\varvec{W}=\hat{\varvec{M}}^{-1}\), the cost function can be expressed as

$$\begin{aligned} J= & {} \frac{1}{2}\int _0^{t_f}\varvec{u}^T(t)\hat{\varvec{M}}^{-1}\varvec{u}(t)dt = \frac{1}{2}\int _0^{t_f}\varvec{\psi }_2^T(t)\varvec{\psi }_2(t)dt,\nonumber \\= & {} \sum _{i=1}^N\frac{2\omega _i^3(1+\cos \omega _it_f)}{\omega _it_f-\sin \omega _it_f}q_{ei}^2 +\sum _{i=1}^N\frac{2\omega _i^3(1-\cos \omega _it_f)}{\omega _it_f+\sin \omega _it_f}q_{ni}^2, \end{aligned}$$
(13.26)

where we use the fact that \(\varvec{\varPhi }^T \hat{\varvec{M}} \varvec{\varPhi }=\varvec{I}\). In the above equation, it is easily confirmed that

$$\begin{aligned} \frac{2\omega _i^3(1-\cos \omega _it_f)}{\omega _it_f+\sin \omega _it_f}\ge 0. \end{aligned}$$
(13.27)

Hence it is understood that the optimal spring mounting position that minimizes J is always \(q_{ni}=0(i=1,2,\ldots ,N)\), i.e., \(\varvec{q}_n=\varvec{0}\) (\(\varvec{\theta }_n=\varvec{\theta }_m\)). Therefore in the following, we analyze the problem by setting \(\varvec{q}_n=\varvec{0}\).

It should be noted that some of \(\omega _i\) might be zero depending on the structure of the stiffness matrix \(\varvec{K}\). By using the L’Hospital’s theorem, we can get

$$\begin{aligned} \lim _{\omega _i\rightarrow 0}\frac{2\omega _i^3(1+\cos \omega _it_f)}{\omega _it_f-\sin \omega _it_f} = \frac{24}{t_f^3}. \end{aligned}$$
(13.28)

Hence, the relationship between the minimum value of the energy consumption J and the robot cycle time \(t_f\) including the case of \(\omega _i = 0\) can be summarized as follows

$$\begin{aligned} J(t_f)&= \sum _{i=1}^{N}J_i(t_f), \end{aligned}$$
(13.29)
$$\begin{aligned} J_i(t_f)&= {\left\{ \begin{array}{ll} \frac{2\omega _i^3(1+\cos \omega _it_f)}{\omega _i t_f-\sin \omega _i t_f}q_{ei}^2 &{} ( {\text {if}} \ \omega _i \ne 0 ) \\ \frac{24}{t_f^3}q_{ei}^2 &{} ( {\text {if}} \ \omega _i=0 ). \end{array}\right. } \end{aligned}$$
(13.30)

Equations (13.29) and (13.30) show that the total consumed energy of horizontal manipulators with springs can be reasonably understood as the sum of the consumed energy corresponding to the each mode.

The optimal trajectory in modal coordinates \(\varvec{q}(t)\) is derived by substituting \(\varvec{\psi }(0)\), Eqs. (13.12) and (13.13) into Eq. (13.21) as follows

$$\begin{aligned} \displaystyle \varvec{x}_1(t)= & {} \varvec{q}(t)=[q_{1}(t)\ q_{2}(t)\ldots \ q_{N}(t)]^T, \end{aligned}$$
(13.31)
$$\begin{aligned} \displaystyle q_{i}(t)= & {} -q_{ei}\cos \omega _it -q_{ei}\frac{(\omega _it\cos \omega _it-\sin \omega _it)(1+\cos \omega _it_f)}{\sin \omega _it_f-\omega _it_f}\nonumber \\&-q_{ei}\frac{\omega _it\sin \omega _it\sin \omega _i t_f}{\sin \omega _it_f-\omega _it_f}. \end{aligned}$$
(13.32)

Then, the optimal trajectory in physical coordinates \(\varvec{\theta }(t)\) can be obtained by \(\varvec{\theta }(t)=\varvec{\theta }_m+\varvec{\varPhi }\varvec{q}(t)\) where \(\varvec{\theta }_m\) is the middle position of the robot configuration as used for Eqs. (13.5) and (13.6).

13.2.3 Validation of the Obtained Optimal Solution

The analytical solution obtained in the previous section is based on the linearized equations of motion (13.8). Hence, we should examine the influence of the nonlinearity ignored in the analysis. Therefore, in this section, we compare the analytical solution with the numerical one considering the full nonlinear dynamics by a general purpose optimal trajectory planning algorithm for multibody systems [8]. Here we consider the planar 2DOF manipulator shown in Fig. 13.2 as an example. The parameters used for the simulation are given in Table 13.1.

Fig. 13.2
figure 2

Planar 2DOF manipulator

Table 13.1 Parameters of the 2DOF manipulator

The equations of motion of the planar 2DOF manipulator with springs can be expressed as

$$\begin{aligned}&\left[ \begin{array}{cc} I_1+I_2+2m_2l_1s_2\cos \theta _2+m_2(l_1^2+s_2^2)+m_1s_1^2 &{} sym.\\ I_2+m_2(s_2^2+l_1s_2\cos \theta _2) &{} I_2+m_2s_2^2 \end{array} \right] \!\! \left[ \begin{array}{c} \ddot{\theta }_1\\ \ddot{\theta }_2 \end{array} \right]&\nonumber \\&\!+ \left[ \begin{array}{@{\,}c@{\,}} -m_2l_1s_2\sin \theta _2(2\dot{\theta }_1\dot{\theta }_2+\dot{\theta }_2^2)\\ m_2l_1s_2\sin \theta _2\dot{\theta }_1^2 \end{array} \right] \!=\! - \left[ \begin{array}{cc} k_1 &{} 0\\ 0 &{} k_2 \end{array} \right] \!\! \left[ \begin{array}{@{\,}c@{\,}} \theta _1\!-\!\theta _{n1}\\ \theta _2\!-\!\theta _{n2} \end{array} \right] \!+\!\left[ \begin{array}{@{\,}c@{\,}} u_1\\ u_2 \end{array} \right] .&\quad \end{aligned}$$
(13.33)

As an example, we consider the motion under the initial and final conditions \(\varvec{\theta }_0=[-30, -30]^T\) deg, \(\varvec{\theta }_f=[30, 30]^T\) deg. Figure 13.3 shows the comparison between the analytical solution and the numerical one for the case without spring, i.e., \(\varvec{k}=[k_1, k_2]^T=[0, 0]^T\) Nm/rad. Obviously, short robot cycle times are very energy consuming. The centrifugal and Coriolis forces become larger as the moving speeds become faster, the difference between the two becomes larger as \(t_f\) becomes shorter. However, we can confirm that the difference converge to zero as \(t_f\) is longer, i.e., the moving speeds become slower. Figure 13.4 shows the comparison for the three cases of \(\varvec{k}=[k_1, k_2]^T=[30, 0]^T, [0, 30]^T, [30, 30]^T\) Nm/rad. If fairly strong springs are used, the spring forces become predominant over the centrifugal and Coriolis forces. Therefore, we can observe that both results are well coinciding everywhere. Since the analytical solution is well approximating the characteristics of the exact one, it is proposed that the analytical solution obtained in the previous section can be used for analysis and design of planar manipulators with springs. Furthermore, Fig. 13.4 indicates that for cycle time \(t_f\) less than 1 s the energy consumption may be considerably reduced by properly chosen springs.

Fig. 13.3
figure 3

Energy consumption J (without springs)

Fig. 13.4
figure 4

Energy consumption J (reduced by proper springs)

13.2.4 Optimal Robot Cycle Time

In this subsection, we derive a condition for an optimal robot cycle time \(t_f\). If some \(\omega _i\) become zero, an optimal robot cycle time \(t_f\) does not exist since J has the terms that decrease monotonously with \(t_f\), see Eq. (13.30). Therefore, in the following, we discuss the case that all \(\omega _i\) are non-zero. If we consider \(t_f\) as the quantity that may take any value, \(H(t_f)=0\) should be satisfied from the transversality condition. Moreover, since Eq. (13.16) does not contain t explicitly, \(\partial H/\partial t=0\), it holds \(H=\) const along optimal trajectories. Hence the condition \(H(0)=0\) should be satisfied. By substituting the Eqs. (13.12) and (13.13), \(\varvec{q}_n=\varvec{0}\), and \(\varvec{\psi }(0)\) into Eq. (13.16), one can get

$$\begin{aligned} H(0) = \varvec{\psi }_2^T(0)\varvec{\varOmega }^2\varvec{q}_e-\frac{1}{2}\varvec{\psi }_2^T(0)\varvec{\psi }_2(0) =\sum _{i=1}^N\frac{-2\omega _i^5t_f\sin \omega _it_f}{(\omega _it_f-\sin \omega _it_f)^2}q_{ei}^2. \end{aligned}$$
(13.34)

From Eq. (13.34), it follows that \(H(0)\!=\!0\) is satisfied if \(\sin \omega _it_f\!=0(i=\!1,2,\ldots ,N)\) or equivalently

$$\begin{aligned} \omega _it_f=r_i\pi (i=1,2,\ldots ,N), \end{aligned}$$
(13.35)

where \(r_i\) is an integer. When the condition (13.35) is satisfied, the second and third term of Eq. (13.24) vanishes and the optimal trajectory in modal coordinate reduce to harmonic vibrations

$$\begin{aligned} \varvec{x}_1(t)= & {} \varvec{q}(t)=[q_{1}(t)\ q_{2}(t)\ \ldots \ q_{N}(t)]^T, \end{aligned}$$
(13.36)
$$\begin{aligned} q_{i}(t)= & {} -q_{ei}\cos \omega _it. \end{aligned}$$
(13.37)

And by substituting Eq. (13.35) into Eqs. (13.29) and (13.30), the cost function can be expressed as

$$\begin{aligned} J = \sum _{i=1}^N J_i = \sum _{i=1}^N\frac{2\omega _i^3(1+\cos r_i\pi )}{r_i\pi }q_{ei}^2. \end{aligned}$$
(13.38)

From Eq. (13.38), it is understood that \(J_i\) takes the maximum \(4\omega _i^3q_{ei}^2/r_i\pi \) if \(r_i\) is an even number and vanishes if \(r_i\) is an odd number. Hence, J takes the global minimum if all \(r_i\) are odd number resulting in the minimum value of zero.

13.2.5 Optimal Design Method for Springs

In this section, we consider the problem to design the spring stiffnesses \(\varvec{k}=[k_1,k_2,\ldots ,k_N]^T\) that make the consumed energy minimum for a specified time \(t_f^{*}\). Firstly, from Eq. (13.35), the natural frequencies \(\omega _i\) read as

$$\begin{aligned} \omega _i=r_i\pi /t_f^{*}\quad (i=1,2,\ldots ,N), \end{aligned}$$
(13.39)

where all \(r_i\) should be selected to be odd number so that all \(J_i\) takes the minimum. Moreover, \(r_i\) should satisfy \(r_1<r_2<\cdots <r_N\) since we assumed that \(\omega _1<\omega _2<\cdots <\omega _N\). The spring stiffnesses \(\varvec{k}=[k_1,k_2,\ldots ,k_N]^T\) should be determined as they satisfy the following characteristic equations

$$\begin{aligned} \text {det}[\varvec{K}-\omega _i^2\hat{\varvec{M}}]=0\quad (i=1,2,\ldots ,N). \end{aligned}$$
(13.40)

Let us define the error vector \(\varvec{e}=[e_1,e_2,\ldots ,e_N]^T\) where \(e_i=\text {det}[\varvec{K}-\omega _i^2\hat{\varvec{M}}]\). Then, the problem here becomes to find \(\varvec{k}\) that satisfies

$$\begin{aligned} \varvec{e}(\varvec{k})=\varvec{0}. \end{aligned}$$
(13.41)

Solving this nonlinear equation, e.g., by Newton–Raphson method, we can obtain the optimal spring stiffnesses \(\varvec{k}\) that minimizes the energy consumption.

Especially, for the case of 2DOF manipulator, we can calculate the optimal spring stiffnesses analytically as follows. Since \(N=2\), from the characteristic equations \(\text {det}[\varvec{K}-\omega _i^2\hat{\varvec{M}}]=0\ (i=1,2)\), two equilateral hyperbolas can be obtained

$$\begin{aligned} k_2=\frac{c_i^2}{k_1-a_i}+b_i (i=1,2), \end{aligned}$$
(13.42)

where \(a_i = \hat{m}_{11}(r_i \pi /t_f^{*})^2\), \(b_i = \hat{m}_{22}(r_i \pi /t_f^{*})^2\), \(c_i=\hat{m}_{12}(r_i \pi /t_f^{*})^2\), and \(\hat{m}_{ij}\) is the ijth element of matrix \(\hat{\varvec{M}}\). From these two equations, \(k_1\) can be calculated analytically as follows

$$\begin{aligned} k_1 = \frac{A^+B^--C^+C^-\pm \sqrt{(C^+)^2(C^-)^2-2A^-B^-(c^2_2+c^2_1)+(A^-)^2(B^-)^2}}{2B^-}, \end{aligned}$$
(13.43)

where \(A^+=a_2+a_1\), \(A^-=a_2-a_1\), \(B^-=b_2-b_1\), \(C^+=c_2+c_1\), \(C^-=c_2-c_1\). Then, by substituting \(k_1\) into Eq. (13.42), \(k_2\) can also be obtained.

We can achieve the minimum energy control of planar robot manipulators by adding the springs with optimal stiffnesses to the joint at the optimal mounting positions \(\varvec{\theta }_m\).

13.2.6 Application Example

In this section, the proposed optimal design method for springs is demonstrated for the planar 2DOF manipulator shown in Fig. 13.2. As in the Sect. 13.2.3, we consider the motion under the initial and the final conditions \(\varvec{\theta }_0=[-30, -30]^T\) deg, \(\varvec{\theta }_f=[30, 30]^T\) deg. Here we assume that the robot cycle time is specified as \(t_f^{*}=1\) s. Firstly, we select \(r_i\) in Eq. (13.39) as \(r_1=1\), \(r_2=3\), then the natural frequencies become \(\omega _1=\pi \), \(\omega _2=3\pi \) rad/s. Let us first set the spring stiffnesses as \(\varvec{k}=[k_1, k_2]^T=[30, 30]^T\) Nm/rad. Though the consumed energy J corresponding to this spring stiffnesses is included in Fig. 13.4, we show it again on a different scale with \(J_1\) and \(J_2\) for the first and second mode in Fig. 13.5. Since the minimum of \(J_1\) and \(J_2\) do not coincide, J is not vanishing. Therefore, we optimize the spring stiffnesses. From Eqs. (13.42) and (13.43), the optimal values of spring stiffnesses can be obtained as \(\varvec{k}=[k_1, k_2]^T=[21.854, 14.182]^T\) Nm/rad. The consumed energy J corresponding to this spring stiffnesses is shown in Fig. 13.6 with \(J_1\) and \(J_2\). We can observe that the minimum of \(J_1\) and \(J_2\) coincides at \(t_f^{*}=1\) s and therefore J is vanishing at \(t_f^{*}=1\) s. In Fig. 13.6, the minimum value of J corresponding to the case without spring, i.e., a conventional robot manipulator, is also shown. We can confirm that the consumed energy is strongly reduced at the design point \(t_f^{*}=1\) s. This proves the effectiveness of the proposed method.

Fig. 13.5
figure 5

Energy consumption J before optimization

Fig. 13.6
figure 6

Energy consumption J after optimization

13.3 Design and Control of Energy Saving Manipulator

The energy saving control method using springs proposed in the Chap. 2 utilizes natural modes of vibration of the system. On the other hand, existing robot manipulators have direct drive or geared motors at the joints and therefore free vibrations do not occur. Therefore, the proposed method cannot be directly applied to conventional manipulators. Hence in this chapter, we consider the practical design problem to realize the proposed energy saving manipulator concept. We develop a prototype 2DOF manipulator to validate realizability and effectiveness of the proposed method.

13.3.1 Design of Energy Saving Manipulator

In Chap. 2, we consider a horizontal manipulator model equipped with rotational springs as shown in Fig. 13.1 or Fig. 13.7a, respectively. However, for the rotational spring it is usually difficult to adjust its stiffness and mounting position, and so we impose in our experimental setup rotational stiffness between neighboring links by using two linear springs and a special spring holder as shown in Fig. 13.7b. We denote by \(k_{ti}\) the linear spring stiffness, \(l_{ti}\) the distance between the joint and spring mounting point on the holder, then the applied torque \(T_i\) by springs about a joint can be approximated as

$$\begin{aligned} T_i=-2 k_{ti} l_{ti}^2 \sin \theta _i \cos \theta _i \simeq -2 k_{ti} l_{ti}^2 \theta _i \ (\equiv - k_i \theta _i). \end{aligned}$$
(13.44)

From the above equation, it is understood that we can convert linear spring stiffness \(k_{ti}\) to corresponding rotational spring stiffness \(k_i\) by

$$\begin{aligned} k_i=2 k_{ti} l_{ti}^2. \end{aligned}$$
(13.45)

Next, let us consider the installation position of actuators. Since the proposed method utilizes the free vibration of the system, all joints must be able to rotate freely. Therefore, we will not install motors at the joints, instead, we introduce controlled reaction wheels at an arbitrary point on the link and add driving torques from them as shown in Fig. 13.8.

Fig. 13.7
figure 7

Structure of proposed energy saving robot, a mathematical model, b practical design

Fig. 13.8
figure 8

Structure of proposed energy saving robot

The equations of motion of the links and the reaction wheels in Fig. 13.8 can be derived as follows

$$\begin{aligned} \varvec{M}_{\theta \theta }\ddot{\varvec{\theta }} + \varvec{M}_{\phi \theta }^T\ddot{\varvec{\phi }} + \varvec{h}&= -\varvec{K}(\varvec{\theta } - \varvec{\theta }_n), \end{aligned}$$
(13.46)
$$\begin{aligned} \varvec{M}_{\phi \theta }\ddot{\varvec{\theta }} + \varvec{M}_{\phi \phi }\ddot{\varvec{\phi }}&= \varvec{\tau }, \end{aligned}$$
(13.47)

where \(\varvec{\theta }=[\theta _1,\theta _2,\ldots ,\theta _N]^T\) is the vector of joint variables, \(\varvec{\phi }=[\phi _1,\phi _2, \ldots , \phi _N]^T\) is the vector of rotation angles of reaction wheels, \(\varvec{M}_{\theta \theta }\), \(\varvec{M}_{\phi \theta }\), \(\varvec{M}_{\phi \phi }\) are the inertia matrices, \(\varvec{h}\) is the vector of centrifugal and Coriolis forces, \(\varvec{\tau }=[\tau _1,\tau _2,\ldots ,\tau _N]^T\) is the vector of driving torques of reaction wheels, \(\varvec{K}=\text {diag}[k_1,k_2,\ldots ,k_N]\) is the stiffness matrix, \(\varvec{\theta }_n\) is the vector of spring mounting positions.

By eliminating \(\varvec{\phi }\) from Eqs. (13.46) and (13.47), and defining \(\varvec{M}\equiv \varvec{M}_{\theta \theta }-\varvec{M}_{\phi \theta }^T \varvec{M}_{\phi \phi }^{-1}\varvec{M}_{\phi \theta }\), \(\varvec{u}\!\equiv -\varvec{M}_{\phi \theta }^T\varvec{M}_{\phi \phi }^{-1}\varvec{\tau }\), then the following equations of motion are obtained

$$\begin{aligned} \varvec{M} \ddot{\varvec{\theta }} +\varvec{h}= -\varvec{K}(\varvec{\theta } - \varvec{\theta }_n) + {\varvec{u}}. \end{aligned}$$
(13.48)

Since Eq. (13.48) has the same form as Eq. (13.1), the energy saving control method proposed in the Chap. 2 can be directly applied to this novel energy saving manipulator systems.

13.3.2 Control of Energy Saving Manipulator

From Eqs. (13.36) and (13.37), the minimum energy trajectory between the initial position \({\varvec{\theta }}_0 = [\theta _{10} , \theta _{20}, \) \(\ldots , \theta _{N0}]^T\) and the final position \({\varvec{\theta }}_f = [\theta _{1f} , \theta _{2f}, \ldots , \theta _{Nf}]^T\) can be expressed as

$$\begin{aligned} \varvec{\theta }(t)= & {} \varvec{\theta }_m+\varvec{\varPhi }\varvec{q}(t) (\equiv \varvec{\theta }_d(t)), \end{aligned}$$
(13.49)
$$\begin{aligned} \varvec{q}(t)= & {} [-q_{e1}\cos \omega _1 t, -q_{e2}\cos \omega _2 t, \ldots , -q_{eN}\cos \omega _N t]^T. \end{aligned}$$
(13.50)

Theoretically, if we move the links to the position \({\varvec{\theta }}_0\) by applying the external torques for the first time only, then repetitive movement between \(\varvec{\theta }_0\) and \(\varvec{\theta }_f\) can be achieved continuously without any additional input torque \(\varvec{u}\). However, practically, due to the existence of friction and air resistance, the link motions attenuate gradually with time. Hence, let the desired trajectory \({\varvec{\theta }}_d(t)\) be given by Eq. (13.49), and following feedback controller is introduced

$$\begin{aligned} \varvec{u}=\varvec{M} \{ \ddot{\varvec{\theta }}_d - \varvec{\alpha } (\dot{\varvec{\theta }}-\dot{\varvec{\theta }}_d) - \varvec{\beta }({\varvec{\theta }}-{\varvec{\theta }}_d) \} + \varvec{K} ({\varvec{\theta }}-{\varvec{\theta }}_n). \end{aligned}$$
(13.51)

By substituting Eq. (13.51) into the equations of motion (13.48), it can be seen that the behavior of the error vector \({\varvec{e}}(t)\equiv \varvec{\theta }(t)- \varvec{\theta }_d(t)\) is governed by the equation

$$\begin{aligned} \ddot{\varvec{e}}(t)+\varvec{\alpha } \dot{\varvec{e}}(t) + \varvec{\beta }{\varvec{e}}(t) = \varvec{0}, \end{aligned}$$
(13.52)

where \(\varvec{\alpha }\) and \(\varvec{\beta }\) are constant matrices that guarantee asymptotic stability. Equation (13.52) means that \(\varvec{\theta }(t)\) converges to \(\varvec{\theta }_d(t)\), which means that proposed energy saving control method is realized.

Fig. 13.9
figure 9

Top view of the prototype 2DOF manipulator

Fig. 13.10
figure 10

Side view of the prototype 2DOF manipulator

13.3.3 A Prototype 2DOF Manipulator and Experimental Results

To validate the proposed energy saving control method, and practical design and control approach, we develop a protptype 2DOF manipulator. The developed energy saving manipulator is shown in Figs. 13.9 and 13.10. The main specifications of the experimental setup are in Tables 13.2, 13.3 and 13.4. In this experimental device, reaction wheels are driven by DC motors and installed such that their rotational center coincide with the joint axes. The rotary encoders are used to obtain rotational angles of the links. And the electro-magnetic breaks are equipped to the joints so that we can keep holding the links at an arbitrary positions.

Table 13.2 Parameters of the 2DOF energy saving manipulator
Table 13.3 Parameters of the reaction wheel
Table 13.4 Parameters of the motor

As an example, let us consider the repetitive movement between \(\varvec{\theta }_0 = [0, 0]^T\) deg and \(\varvec{\theta }_f = [60, 60]^T\) deg. The robot cycle time between two points are set as \(t_f^{*}=2\) s. If we choose \(r_i\) as \(r_1=1\), \(r_2=3\), the optimal rotational spring stiffnesses can be obtained as \(\varvec{k}=[k_1, k_2]^T= [0.374, 0.085]^T\) Nm/rad from Eqs. (13.42) and (13.43). By using Eq. (13.45), \(\varvec{k}\) is converted to the linear spring stiffnesses as \(\varvec{k}_t =[k_{t1}, k_{t2}]^T= [18.706, 4.237]^T\)N/m. Then we adjust the linear spring stiffnesses of the experimental device as close as possible to the optimal values. After that we conduct trajectory tracking control experiments by using the control law of Eq. (13.51). Figures 13.11 and 13.12 show the results of the trajectory tracking test for the 1st and 2nd joint angles respectively. In these figures, dotted line shows the optimal (reference) trajectory calculated by Eqs. (13.49) and (13.50), and solid line shows the actual trajectory measured by encoders. From these figures, it can be seen that the tracking error is fairly small and trajectory tracking is almost achieved. Figures 13.13 and 13.14 show the driving torques of 1st and 2nd actuators respectively. In these figures, the solid line shows the reaction wheel driving torque of proposed energy saving manipulator and dotted line shows the joint driving torque required by the conventional manipulator to perform the same task. Let us compare the energy consumption of the proposed and the conventional manipulators by the following cost function

$$\begin{aligned} J(t)=\frac{1}{2}\sum _{i=1}^{2}\int _0^{t}u_i^2(\tilde{t}) d\tilde{t}. \end{aligned}$$
(13.53)

Figure 13.15 shows the result. The value of \(J(t_f)\) for the proposed manipulator was 10.57, in contrast for the conventional manipulator was 173.5. It turns out that the energy consumption is reduced by 94 % in the experiment. In theory, see Sect. 13.2.6, we could show 100 % reduction by optimization but 94 % is still an excellent number. This result proves that the proposed concept is effective and it can strongly reduce the energy consumption.

Fig. 13.11
figure 11

Angle versus time (joint 1)

Fig. 13.12
figure 12

Angle versus time (joint 2)

Fig. 13.13
figure 13

Torque versus time (actuator 1)

Fig. 13.14
figure 14

Torque versus time (actuator 2)

Fig. 13.15
figure 15

Comparison of energy consumption

13.4 Conclusions

In this study, we considered a method for reducing energy consumption of planar robot manipulators by adding springs to the joints and utilizes the potential energy effectively. Firstly, we proposed a simultaneous optimization method for springs and trajectories based on the optimal control theory. Then, we discussed the practical design and control problems to realize the proposed energy saving manipulator concept. Finally, we developed a 2DOF energy saving manipulator prototype and show the effectiveness of the proposed method through experiments.