Page 1

Energy Efficient Control of Robots with

Variable Stiffness Actuators⋆

Ludo C. Visser, Raffaella Carloni, Stefano Stramigioli

Department of Electrical Engineering

Faculty of Electrical Engineering, Mathematics and Computer Science

University of Twente, The Netherlands

{l.c.visser,r.carloni,s.stramigioli}@utwente.nl

Abstract: Variable stiffness actuators realize a particular class of actuators characterized by

the property that the apparent output stiffness can be changed independently of the output

position. This is feasible due to the presence of internal springs and internal actuated degrees

of freedom. In this work, we establish a port-based model of variable stiffness actuators and

we derive an energy efficient control strategy. In particular, when the variable stiffness actuator

acts on a mechanical system, the internal degrees of freedom are used to achieve the desired

nominal behavior and the internal springs are used as a potential energy buffer. The release of

energy from the springs, as well as the apparent output stiffness, are regulated by control of the

internal degrees of freedom. Simulation results on a robotic joint illustrate the effectiveness of

the control strategy during the tracking of a periodic motion in presence of disturbances.

Keywords: Variable stiffness actuators, Energy efficient control, Mathematical models,

Nonlinear analysis, Robotics

1. INTRODUCTION

The research interests and efforts in variable stiffness actu-

ators are increasing in recent years due to their broad range

of possible applications. The main characteristic property

of a variable stiffness actuator is that the output stiffness

can be varied independently from the output position,

thanks to the presence of internal actuated degrees of

freedom and internal springs. This means that, if the joints

of a robot are actuated by means of this class of actuators,

it is possible for the robot to perform different tasks while

appearing more or less compliant.

Recently, various designs of variable stiffness actuators

have been introduced, for example AMASC (Hurst, 2004),

VSA (Tonietti, 2005), VS-Joint (Wolf, 2008) and MAC-

CEPA (Vanderborght, 2009). All these actuators use a

number of internal springs with a fixed elastic constant,

and the output stiffness is varied by changing the configu-

ration of some internal degrees of freedom. In the context

of safe interaction, the mechanical compliance is controlled

only if an unexpected collision occurs and it is used to

reduce the impact force (De Luca, 2009).

Besides using the internal springs of a variable stiffness

actuator solely to introduce a mechanical compliance to

the joints for safety reasons (Bicchi, 2004), they can also

be exploited to achieve more energy efficient actuation

by storing negative work (Stramigioli, 2008) or to change

the natural frequencies of the system to match the pe-

riodicity of the motion (Uemura, 2009). In recent work,

we presented a novel energy efficient variable stiffness

⋆This work has been funded by the European Commission’s Seventh

Framework Programme as part of the project VIACTORS under

grant no. 231554.

actuator, characterized by the property that the output

position and output stiffness are decoupled on a mechani-

cal level (Visser, 2010a). This property allows the internal

springs to be used as buffers to temporarily store poten-

tial energy. For example, when a disturbance occurs, the

springs can store the disturbance energy, which then can

be reused to bring the robot back to the desired trajectory.

In particular, this approach can have big advantages in tra-

jectory tracking (Li and Horowitz, 1999; Duindam, 2004).

In such applications, the desired joint trajectories do not

depend on time, and hence the potential energy stored in

the springs can be used efficiently. This approach can be

beneficial to walking robots, where energy efficiency is of

paramount concern and trajectory tracking controllers can

improve the robustness (Duindam and Stramigioli, 2009).

Building on our previous work, in this paper we establish

a formal, port-based mathematical model for the analysis

and the control of variable stiffness actuators. The port-

based framework not only provides valuable insights on

energy flows between the internal actuators, the springs

and the robot, but it is also a solid foundation for research

on innovative control methods. With the aim of achieving

energy efficiency, we derive a control architecture that uses

the potential energy stored in the springs to actuate the

robot, instead of supplying this energy by controlling the

internal degrees of freedom. We demonstrate the effective-

ness of the proposed controller for a one degree of freedom

system, under influence of a disturbance. In particular, if a

disturbance occurs, the corresponding energy is stored in

the internal springs and used for actuation. The insights

gained will form a basis for future work, in which we aim

to develop energy efficient coordinated control methods for

a robot with multiple degrees of freedom.

Page 2

2. PORT-BASED MODELING OF VARIABLE

STIFFNESS ACTUATORS

In this Section, we intend to briefly recall the port-

based generalized model of variable stiffness actuators,

introduced in our previous work (Visser, 2010a,b), and to

provide a more solid mathematical foundation, which is

the basis for both the present paper and future research.

The port-based framework gives valuable insights in the

power flows between the controller, the variable stiffness

actuator and the actuated system. Therefore, it realizes an

appropriate tool for the analysis, modeling and control of

systems in which energy efficiency is the main concern.

Without loss of generality, we assume that a variable

stiffness actuator has the following properties:

• n ≥ 2 internal degrees of freedom, denoted by q ∈ Q,

can be actuated;

• m ≥ 1 springs, either linear or nonlinear, are inter-

nally present;

• the apparent output stiffness K of the actuator de-

pends on both the configuration of the internal de-

grees of freedom and of the internal springs.

Since the aim of the model is to analyze the functional

principle of a variable stiffness actuator, rather than eval-

uating the mechanical design, internal friction and inertias

are neglected. The generic model of a variable stiffness

actuator is depicted in Figure 1, using a bond graph

representation. Each bond represents a power flow, defined

positive in the direction of the half arrow and characterized

by two power conjugate variables, called efforts e and flows

f. If F is the linear space of admissible flows, then the dual

space E := F∗is the linear space of admissible efforts. For

e ∈ E and f ∈ F, the dual product ?e|f? yields power.

The Dirac structure D defines the interconnection of the

bonds and, thus, defines how power flows from one bond

to the others. The Dirac structure is power continuous, as

follows from its formal definition (van der Schaft, 2000):

D = {D ⊂ E × F | ?e|f? = 0

The multidimensional C-type storage element represents

the springs in the device. Springs are characterized by the

state s ∈ S, i.e. their elongation or compression, and by the

energy they store, described by the function H : S → R.

The effort es and flow fs are, respectively, the forces

generated by the springs and the rate of change of the

states. The multidimensional control port is characterized

by power conjugate variables τ and ˙ q, i.e. the generalized

forces that actuate the internal degrees of freedom and the

generalized rate of change of the configuration variables.

The output port is characterized by power conjugate vari-

ables F and ˙ x, i.e. the generalized output force and the

generalized output velocity, and, since it is assumed that

the variable stiffness actuator is connected to a joint with

one degree of freedom, it is one-dimensional. Depending on

the type of actuator, the output force can be either a linear

force or a torque and, correspondingly, the output position

x ∈ X can either be a linear displacement or an angle. Note

that the efforts τ and F do not depend on the flows ˙ q and

˙ x since a power continuous transformation between forces

and velocities, called gyration, does not regularly exist in

the mechanical domain.

∀(e,f) ∈ D}

The stiffness K at the output is given by

C

D

es

fs

−τ

˙ q

−F

˙ x

Fig. 1. Generalized representation of a variable stiffness

actuator. The Dirac structure defines the intercon-

nection between the different bonds and, therefore,

how power is distributed among the ports. The multi-

bonds allow any number of springs, i.e. the C-element,

and any number of external inputs (τ, ˙ q). The output

port (F, ˙ x) is one-dimensional and thus a single-bond.

K =δF

δx

where δF and δx denote infinitesimal changes.

Before entering into the details of the design of the energy

based control law, we further analyze this model and derive

the formal mathematical structure that gives more insight

into the Dirac structure and its properties.

Following the arguments above, there exists a map

Γ(q,x): Q × X → S

that defines how the configuration of the internal degrees

of freedom q ∈ Q and the output position x ∈ X determine

the states s ∈ S of the springs. The tangent map Γ(q,x)∗:

TQ×TX → TS and cotangent map Γ∗

T∗X are naturally defined (Nijmeijer and van der Schaft,

1990). The fiber bundle πu: Uq× Ux→ Q × X has fibers

π−1

u(q,x) that denote the input spaces Uq× Ux. Given

an input (uq,ux) ∈ Uq× Ux, the internal configuration

q and the output position x are subject to the dynamics

G : Uq× Ux→ TQ × TX given by

˙ q = uq,

Equation (1) can be written as

n

?

i=1

where

vq,i= ( 0 ··· 0

?

vx= 1

define constant input vector fields on TQ × TX, i.e. the

canonical basis for the tangent space. Since these dynamics

are trivial, we allow abuse of notation and consider ˙ q and

˙ x as inputs to the system. These relations are summarized

in the commutative diagram in Figure 2.

(q,x): T∗S → T∗Q×

˙ x = ux

(1)

˙ q =

vq,iuq,i,

˙ x = vxux

(2)

???

i−1 elements

10 ··· 0

?

???

n−1 elements

)T

(3)

The dynamics of the variable stiffness actuator are

˙ s = Γ(q,x)∗(˙ q, ˙ x)

(τ,F) = Γ∗

(q,x)(dH)

(4)

where dH denotes the differential of the energy function

H. We can see that flows are elements of the tangent

spaces and efforts elements of the cotangent spaces. The

Dirac structure is in the tangent maps Γq∗ : TQ → TS,

Γx∗ : TX → TS and the corresponding cotangent maps

Γ∗

q, Γ∗

x. Via these maps, the velocities on TsS at s ∈ S are

Page 3

S

TS

T∗S

Q × X

TQ × TX

T∗Q × T∗X

Uq× Ux

Γ(q,x)

Γ(q,x)∗

Γ∗

(q,x)

G

πu

Fig. 2. Commutative diagram for a variable stiffness actu-

ator. Q is the configuration manifold of the internal

degrees of freedom, S of the state of the internal

springs, and X of the output position.

defined by the velocities on TqQ×TxX at (q,x) ∈ Q×X,

and correspondingly the forces on T∗

on T∗

sS, such that power continuity is preserved.

qQ×T∗

xX by the forces

The rate of change of the energy stored in the springs is

given by (Bullo and Lewis, 2004):

˙H = dH ˙ s = dH Γ(q,x)∗(˙ q, ˙ x)

From (4) and (5), it can be immediately observed how the

output force and the energy stored in the mechanism are

related to each other, and how the rate of change of the

stored energy depends on the output ports. In particular,

from (5) it follows that the energy stored in the springs

does not change due to the control input if

˙ q ∈ kerΓq∗

where kerΓq∗ denotes the kernel of the map Γq∗. Note

that the existence of this kernel depends on the mechanical

design of the variable stiffness actuator (Visser, 2010a).

(5)

(6)

3. ENERGY EFFICIENT CONTROL

In this Section, an energy efficient control law for variable

stiffness actuators is derived. This means that, in order to

achieve the energy efficiency of the controller, we intend

to use the energy stored in the internal springs, if present,

for the actuation of the robotic joint. First, we formulate

the problem statements and, then, derive a solution that

accomplishes the energy efficiency requirements. More-

over, since the fundamental demand of variable stiffness

actuators is the capability of changing the output stiffness,

we extend the control law with stiffness regulation.

3.1 Problem Statement

As depicted in Figure 1, the variable stiffness actuator is

connected to a robotic joint with one degree of freedom.

This connection is explicitly shown in Figure 3 by a 1-

junction representing the power continuous connection

˙ x = y,

where (u,y) is the interaction port of the joint. In partic-

ular, u denotes the input force (or torque) applied to the

joint, and y its velocity. We assume that full state measure-

ment is available, i.e. for both joint and variable stiffness

actuator all positions and velocities can be measured.

u = −F

We now design an energetically efficient control architec-

ture for the variable stiffness actuator, by using both the

internal springs and internal actuated degrees of freedom,

so that the actuator is able to apply a desired force (or

C

D

es

fs

−τ

˙ q

−F

˙ x

1

u

y

Joint

Fig. 3. Generalized representation of a variable stiffness

actuator interconnected with a robotic joint.

torque) ud to the joint and so that the output stiffness

is regulated at a desired value. These goals are formally

contained in the following problem statements.

Problem 3.1. Consider a variable stiffness actuator, de-

scribed by an energy function H and the dynamics (4),

connected to a robotic joint by a power continuous connec-

tion. Assume that full state measurement is available. How

can the control inputs ˙ q to the variable stiffness actuator

be designed such that the desired joint input udis achieved

in an energy efficient way?

Problem 3.2. How can the control inputs ˙ q to the vari-

able stiffness actuator be designed such that a desired joint

input ud is achieved in an energy efficient way, while at

the same time the output stiffness is controlled?

In the solutions of these two problems, we aim to exploit

the internal springs of the variable stiffness actuator as

buffers for storing potential energy and to use this energy

to actuate the joint. In the remainder of the Section, we

first derive a control law that solves Problem 3.1 in a

nominal case, i.e., without considering energy efficiency.

Then, we focus on refining the control law by efficiently

using any potential energy stored in the springs to reduce

the energy supply via the control port. Finally, we derive

the stiffness control law for Problem 3.2.

3.2 Output Force Control

Before proceeding with the formulation of the control law,

it is necessary to highlight that, if a desired input force

(torque) udis required at the robotic joint, also the desired

output force Fdof the actuator is known due to the power

continuous connection. Moreover, from (4), the output

force F, generated by the variable stiffness actuator, can be

determined once the current values for q and x are given.

This means that it is possible to find a control law gF(·)

such that the evolution in time of the force F is given by

˙F = gF(Fd,F)

as a function of the actual and the desired output force.

We can then formulate a nominal control law as follows.

Lemma 3.3. (Nominal control). Consider a variable stiff-

ness actuator described by an energy function H and the

dynamics (4), connected to the joint of a robot through

a power continuous connection. Let the vector valued

function V (q,x) be:

V (q,x) := (Lvq,1F,...,Lvq,nF)

where Lvq,iF denotes the Lie-derivative of F along the

vector field vq,i. Define a subset M of Q × X as:

M = {(q,x) ∈ Q × X | V (q,x) ?= 0}

(7)

Page 4

By using the control law ˙F = gF(Fd,F), the nominal

control input

˙ qn= V+?

where+denotes the Moore-Penrose pseudo inverse, solves

Problem 3.1 for (q,x) in M.

˙F − (LvxF) ˙ x

?

(8)

3

Proof:

we have that (τ,F) is an exact one-form on T∗

defined by the map Γ∗

(q,x)(Nijmeijer and van der Schaft,

1990). Moreover, since the input vector fields, as defined

in (2) and (3) are constant, the rate of change of the one-

form (τ,F) is given by

Since we defined the exact one-form dH on T∗

sS,

xX,

qQ × T∗

d

dt(τ,F) = (˙ q1 ··· ˙ qn ˙ x)

Lvq,1(τ,F)

...

Lvq,n(τ,F)

Lvx(τ,F)

(9)

where we allowed some abuse of notation, as in (1). Since

dim X = 1, from (9) it follows that:

˙F = V ˙ q + (LvxF) ˙ x

with V given in (7). Finally, from (10), the nominal

controller ˙ qnin (8) follows.

(10)

Note that the restriction of the solution to M follows from

the Moore-Penrose pseudo inverse for the full row-rank

matrix V (Ben-Israel and Greville, 2003):

V+= VT?V VT?−1

i.e., the pseudo inverse is only defined for (q,x) in M. 2

3.3 Energy Efficient Control

The solution derived in Lemma 3.3 is not energy efficient,

since the energy stored in the springs is not taken into

account. If a disturbance is present on the output port, we

intend to direct the corresponding energy to the springs so

to use them as energy buffer. Since our goal is to obtain

solutions that efficiently use energy stored in the springs,

if there is energy stored in the springs, there is, in general,

no need to supply more energy via the control port.

For a particular class of variable stiffness actuators, the

solution (8) can be modified such that any potential

energy stored in the springs is efficiently used to actuate

the robot. This class of actuators has the property that

output position and output stiffness are decoupled on a

mechanical level and, therefore, the kernel in (6) exists.

This means that the map Γq∗is surjective onto TsS:

rank Γq∗< n,

This property allows for a partitioning of the tangent space

TqQ, i.e. the tangent space to Q at q, as:

TqQ = kerΓq∗⊕ D

where ⊕ is the direct sum and D is such that the tangent

space TqQ is complete. In particular, since TqQ is a R-

vector space (Bullo and Lewis, 2004), we require D to

be orthogonal to kerΓq∗ in the Euclidean sense. If we

denote by k the dimension of kerΓq∗, i.e. dim kerTqQ =

k, 1 ≤ k < n, and since dim TqQ = n, it follows that

dim D = n − k.

∀(q,x) ∈ Q × X

From (6) it was observed that, if the control input ˙ q ∈

kerΓq∗, then the energy stored in the springs does not

change due to the control input. Hence, the solutions to

Problem 3.1 given by (8) should be in kerΓq∗or close to it

when energy is stored in the springs. This can be achieved

by defining on TqQ an appropriate metric that weights the

solutions given by the Moore-Penrosepseudo inverse (Ben-

Israel and Greville, 2003). This argument is formalized in

the following Lemma.

Lemma 3.4. (Energy efficient control). Consider a vari-

able stiffness actuator described by an energy function

H and the dynamics (4) and connected to the joint of

a robot by a power continuous connection. Assume that

the variable stiffness actuator satisfies the property

dim kerΓq∗= k,

1 ≤ k < n,

Take on TqQ two sets of local coordinates, orthogonal in

the Euclidean sense, denoted by a1= (a1

a2= (a2

n−k), satisfying

kerΓq∗= span?a1?

D = span?a2?

On TqQ, define a metric g, such that in the local coordi-

nates (a1,a2) its components [g] are given by

?Ik

0 αIn−k

with Ik and In−k the identity matrix of dimension k and

n − k respectively, and α : S → R+a positive definite

function realizing a measure for the amount of energy

stored in the springs.

∀(q,x) ∈ Q × X

1,...,a1

k) and

1,...,a2

(11)

[g] =

0

?

(12)

Then, for (q,x) in the subset M, the control input

˙ qe= V♯?

where♯denotes the Moore-Penrose pseudo inverse with

respect to the metric g defined in (12), solves Problem 3.1

in an energy efficient way by exploiting the energy stored

in the springs.

˙F − (LvxF) ˙ x

?

(13)

3

Proof:

be expressed into components that are either in kerΓq∗

or outside, i.e. in D. Figure 4 depicts a two dimensional

example, in which

∂q1,

∂q2

for TqQ, the one-dimensional spaces kerΓq∗ and D are

spanned by the vectors a1and a2, respectively. By choos-

ing the metric g as proposed in (12), the components of the

solution ˙ qein D are weighted by α. In particular, since α

is chosen such that it is proportional to the energy stored

in the springs, the component in D is smaller when there

is more energy available in the springs. Hence, from (5)

it follows that, when there is more energy available in the

springs, less energy is supplied via the control port.

Using the partitioning (11), the solution (8) can

?

∂

∂

?

denotes the canonical basis

2

3.4 Stiffness Control

The control law derived in Lemma 3.4 achieves control

of the joint position, but does not control the apparent

stiffness of the joint. However, in many applications it

is desired that the apparent joint stiffness attains some

specific value. Therefore, we extend the control law with

stiffness control. In particular, because of the redundancy

in the internal degrees of freedom, we can define a control

input, to add to any solution of Problem 3.1, so that the

stiffness is controlled independently from the generated

Page 5

∂

∂q1

∂

∂q2

a1

a2

D

kerΓq∗

˙ qe

Fig. 4. Decomposition of the energy efficient control law

˙ qein (13) into components in kerΓq∗and in D.

output force. This requires that the additional stiffness

control ˙ qkV ∈ kerV , so to not affect the control ˙ qein (13).

Under the assumption of full state measurement, the ap-

parent output stiffness K of the actuator may be esti-

mated. Given a desired output stiffness Kd, we can design

a control law gK(·) such that the desired rate of change of

the stiffness is given by

˙K = gK(Kd,K)

If we model the stiffness K as a function on the configu-

ration manifold, i.e. K : Q × X → R, we can formulate a

control law for the stiffness as follows.

Lemma 3.5. (Stiffness control). Define on TqQ two sets

of coordinates, denoted by b1and b2, satisfying:

kerV = span?b1?

TqQ = span?b1,b2?

Determine a solution ˙ qk that achieves the desired rate of

change of the stiffness, i.e. a solution satisfying

?Lvq,1K ··· Lvq,nK?

where Lvq,iK denotes the Lie-derivative of K along vq,i.

Denote by ˙ qkV the projection of ˙ qk onto b1. Then, the

solution to Problem 3.2 is given by the control input

˙ qk= ˙ qe+ ˙ qkV

˙ qk= gK(Kd,K)

(14)

3

Proof:

stiffness changes as desired, and by taking the projection

onto kerV , the stiffness is changed while Problem 3.1 is

still solved.

Remark 3.6. By taking the projection onto kerV , it is

ensured that at all times Problem 3.1 is solved. However,

it follows that, in general, ˙ qkV ?= ˙ qk, and thus that the

stiffness does not change exactly as desired, but as close

to desired as possible.

Remark 3.7. Since ˙ qkV was not obtained with respect to

the metric g as defined in Lemma 3.4, the solution (14) is

not necessarily energy efficient. In particular, the choice of

gK(·) determines the component outside kerΓq∗.

The control input ˙ qk is chosen such that the

2

⊳

⊳

4. SIMULATION RESULTS

In this Section, we show the effectiveness of the control

law derived in Section 3. This will be done by using

a linear variable stiffness actuator design, presented in

−0.1−0.050

x

0.050.1

−0.12

−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

nominal

energy efficient

with stiffness regulation

˙ x

Fig. 5. Joint phase diagram - In a periodic motion, the

disturbance is similarly corrected by each control law.

02468 10

t(s)

121416 1820

0

0.02

0.04

0.06

0.08

0.1

0.12

0.114

0.111

0.103

nominal

energy efficient

with stiffness regulation

energy (J)

Fig. 6. Energy supplied via the control port - The energy

efficient control law clearly achieves a reduction in

supplied energy. However, when stiffness regulation is

added, some of the gain in efficiency is lost.

earlier work (Visser, 2010a), which satisfies the condition

stated in Lemma 3.4, to actuate a joint. The experiment is

as follows. The actuator moves a linear joint on a periodic

motion following a sinusoidal trajectory with an amplitude

of 10 cm at a frequency of 0.1 Hz. The force udneeded to

make the joint follow the trajectory is calculated using a

PD-control law using the current and desired position and

velocity. In the time interval 5 ≤ t ≤ 6 s, the joint is

subjected to a 2 N constant disturbance force. The same

experiment is performed with each of the three presented

control laws (8), (13), (14), and their performance is

compared. In particular, it is investigated how each of the

controllers handles the disturbance energy. The results are

presented in Figures 5-7.

Figure 5 shows the phase space trajectory of the joint.

It can be seen that the response to the disturbance is

similar for each of the controllers. Note that each controller

required approximately the same amount of time to return

to the desired trajectory. In Figure 6, the energy supplied

via the control port of the variable stiffness actuator is

plotted. In particular, the absolute power flow through the

control port is integrated, to make explicit that negative

work is lost. From the numerical values, it can be seen

that the energy efficient control law indeed achieves a sig-