IEEE Robotics & Automation Magazine - December 2015 - 41

collocated if they constitute a power port of a subsystem. A
power port is given if the product of these two variables represents the instantaneous power flow; see [38]. This is a force
and a velocity (or a linear operator of velocity, such as position). This stems from the fact that the motor and the link
dynamics are interconnected by an elastic element (1).
Therefore, the link-side coordinate does not have a direct
input. Controllers that neglect the coupling dynamics are
exposed to stability issues. And due to the introduced
mechanical stiffness of VSA, stable controllers, which only
regulate i and neglect the compliance, are prone to large
position errors. A method to both ensure stability and accurately execute the task has been proposed in [37]. We adapt
that approach to the DLR HASy.
The main idea is to formulate a collocated variable qr (i),
that is statically equivalent to the link-side position q but only
depends on i. Therefore, a static version of (2) is required, i.e.,
io = qo = 0, which can be derived using the potential energy
V (i, q) of the robot. The static equilibrium is achieved if
2V (i, q)
=-f ({, v) + g (q) = 0
2q

(3)

holds. This equation can also be interpreted as the evaluation of only potential energy terms in the Lagrangian
L (i, q) = T (i, io , q, qo ) - V (i, q), where T (i, io , q, qo ) is the
kinetic system energy, for the derivation of the equations of
motion. The special properties of (3) are the key elements
for finding qr (i) . First, the potential function V (i, q) is
positive definite. Second, the joint stiffness and the Hessian
of the gravity potential are bounded. The joint stiffness is
the instantaneous stiffness of the VSA, and it is upper and
lower bounded by the mechanical design of the joint. These
conditions cause the convex nature of (3) and ensure a single solution of q for each i. Hence, the mapping qr (i) is a
diffeomorphism, i.e., each desired position q d can be realized by an appropriate i in a static sense. Nevertheless,
finding the solution of that implicit function requires a
numerical algorithm in case of complex nonlinear systems,
such as VSA robots. Due to these convexity properties, the
simplified, iterative gradient method in Figure 4 rapidly
converges to qr (i) . The algorithm stops after a specified
number of iterations. Although a condition on q i +1 - q i
would indicate the convergence more accurately, specifying
i end ensures determinism, which is an essential requirement
for the real-time implementation. A passive controller can
then be formulated with proportional-derivative (PD) components for minimizing the position error and selective dissipation of kinetic energy:
u = g (qr (i)) - J qr (i) T K p (qr (i) - q d) - K d io .

(4)

The controller torque is denoted by u. The matrices K p and
K d are the positive definite, symmetric P- and D-gains. The
Jacobian matrix J qr (i) T is a mapping between i and qr (i),
the static equivalent of q. A gravity compensation term

g (qr (i)) also based on the static equivalent completes the
control law. To compensate for external loads such as pickedup objects, a standard load estimation algorithm can be used.
This controller has
several major advantages.
The effects of the passive
First, the use of qr (i) enables stable and statically
joint compliance and the
correct link position control. The dynamics origilow-damped oscillatory
nated from the elastic
element do not have to
system are not fully
be considered explicitly.
Second, arbitrarily low
accounted for by the
controller gains can be
adjusted even for large
energy-shaping techniques.
displacements from the
equilibrium, since gravity
is always compensated
accurately. This property shows the flexibility of the controller, as low gains normally let the robot collapse under the
gravitational loads, what is not desired. Third, the approach
provides great versatility for the choice of task coordinates.
A task can be generally formulated to control k independent output variables y = h (i, q) to desired constant values
y d ! 0 k . We control the steady state of the link coordinates
q. An alternative, popular choice is the control of Cartesian
coordinates as carried in the "Active/Passive Impedance
Control" section; see [39].
To demonstrate this approach, experiments on the
shoulder joint have been performed and plotted in FigureĀ  5. In the top plots, a direct noncollocated feedback of
the link-side position q has been used in the controller.

i := i0

qi + 1 := qi -

i := i + 1

No

1 ^V (i, q)
l
^q

q = qi

i = iend?

Yes
q := qi + 1
Figure 4. A numerical iteration scheme is used to calculate the static
link-side equivalent variable qr . Fast convergence can be guaranteed by
the convex nature of the problem and the depicted simplified gradient
method. In terms of the implementation on the real system, one has to
keep in mind that the numerical costs can be greatly reduced by using
the solution from the last time step as starting condition for the current
one. The rate of convergence can be controlled via the parameter k.

DECEMBER 2015

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

41



Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - December 2015

IEEE Robotics & Automation Magazine - December 2015 - Cover1
IEEE Robotics & Automation Magazine - December 2015 - Cover2
IEEE Robotics & Automation Magazine - December 2015 - 1
IEEE Robotics & Automation Magazine - December 2015 - 2
IEEE Robotics & Automation Magazine - December 2015 - 3
IEEE Robotics & Automation Magazine - December 2015 - 4
IEEE Robotics & Automation Magazine - December 2015 - 5
IEEE Robotics & Automation Magazine - December 2015 - 6
IEEE Robotics & Automation Magazine - December 2015 - 7
IEEE Robotics & Automation Magazine - December 2015 - 8
IEEE Robotics & Automation Magazine - December 2015 - 9
IEEE Robotics & Automation Magazine - December 2015 - 10
IEEE Robotics & Automation Magazine - December 2015 - 11
IEEE Robotics & Automation Magazine - December 2015 - 12
IEEE Robotics & Automation Magazine - December 2015 - 13
IEEE Robotics & Automation Magazine - December 2015 - 14
IEEE Robotics & Automation Magazine - December 2015 - 15
IEEE Robotics & Automation Magazine - December 2015 - 16
IEEE Robotics & Automation Magazine - December 2015 - 17
IEEE Robotics & Automation Magazine - December 2015 - 18
IEEE Robotics & Automation Magazine - December 2015 - 19
IEEE Robotics & Automation Magazine - December 2015 - 20
IEEE Robotics & Automation Magazine - December 2015 - 21
IEEE Robotics & Automation Magazine - December 2015 - 22
IEEE Robotics & Automation Magazine - December 2015 - 23
IEEE Robotics & Automation Magazine - December 2015 - 24
IEEE Robotics & Automation Magazine - December 2015 - 25
IEEE Robotics & Automation Magazine - December 2015 - 26
IEEE Robotics & Automation Magazine - December 2015 - 27
IEEE Robotics & Automation Magazine - December 2015 - 28
IEEE Robotics & Automation Magazine - December 2015 - 29
IEEE Robotics & Automation Magazine - December 2015 - 30
IEEE Robotics & Automation Magazine - December 2015 - 31
IEEE Robotics & Automation Magazine - December 2015 - 32
IEEE Robotics & Automation Magazine - December 2015 - 33
IEEE Robotics & Automation Magazine - December 2015 - 34
IEEE Robotics & Automation Magazine - December 2015 - 35
IEEE Robotics & Automation Magazine - December 2015 - 36
IEEE Robotics & Automation Magazine - December 2015 - 37
IEEE Robotics & Automation Magazine - December 2015 - 38
IEEE Robotics & Automation Magazine - December 2015 - 39
IEEE Robotics & Automation Magazine - December 2015 - 40
IEEE Robotics & Automation Magazine - December 2015 - 41
IEEE Robotics & Automation Magazine - December 2015 - 42
IEEE Robotics & Automation Magazine - December 2015 - 43
IEEE Robotics & Automation Magazine - December 2015 - 44
IEEE Robotics & Automation Magazine - December 2015 - 45
IEEE Robotics & Automation Magazine - December 2015 - 46
IEEE Robotics & Automation Magazine - December 2015 - 47
IEEE Robotics & Automation Magazine - December 2015 - 48
IEEE Robotics & Automation Magazine - December 2015 - 49
IEEE Robotics & Automation Magazine - December 2015 - 50
IEEE Robotics & Automation Magazine - December 2015 - 51
IEEE Robotics & Automation Magazine - December 2015 - 52
IEEE Robotics & Automation Magazine - December 2015 - 53
IEEE Robotics & Automation Magazine - December 2015 - 54
IEEE Robotics & Automation Magazine - December 2015 - 55
IEEE Robotics & Automation Magazine - December 2015 - 56
IEEE Robotics & Automation Magazine - December 2015 - 57
IEEE Robotics & Automation Magazine - December 2015 - 58
IEEE Robotics & Automation Magazine - December 2015 - 59
IEEE Robotics & Automation Magazine - December 2015 - 60
IEEE Robotics & Automation Magazine - December 2015 - 61
IEEE Robotics & Automation Magazine - December 2015 - 62
IEEE Robotics & Automation Magazine - December 2015 - 63
IEEE Robotics & Automation Magazine - December 2015 - 64
IEEE Robotics & Automation Magazine - December 2015 - 65
IEEE Robotics & Automation Magazine - December 2015 - 66
IEEE Robotics & Automation Magazine - December 2015 - 67
IEEE Robotics & Automation Magazine - December 2015 - 68
IEEE Robotics & Automation Magazine - December 2015 - 69
IEEE Robotics & Automation Magazine - December 2015 - 70
IEEE Robotics & Automation Magazine - December 2015 - 71
IEEE Robotics & Automation Magazine - December 2015 - 72
IEEE Robotics & Automation Magazine - December 2015 - 73
IEEE Robotics & Automation Magazine - December 2015 - 74
IEEE Robotics & Automation Magazine - December 2015 - 75
IEEE Robotics & Automation Magazine - December 2015 - 76
IEEE Robotics & Automation Magazine - December 2015 - 77
IEEE Robotics & Automation Magazine - December 2015 - 78
IEEE Robotics & Automation Magazine - December 2015 - 79
IEEE Robotics & Automation Magazine - December 2015 - 80
IEEE Robotics & Automation Magazine - December 2015 - 81
IEEE Robotics & Automation Magazine - December 2015 - 82
IEEE Robotics & Automation Magazine - December 2015 - 83
IEEE Robotics & Automation Magazine - December 2015 - 84
IEEE Robotics & Automation Magazine - December 2015 - 85
IEEE Robotics & Automation Magazine - December 2015 - 86
IEEE Robotics & Automation Magazine - December 2015 - 87
IEEE Robotics & Automation Magazine - December 2015 - 88
IEEE Robotics & Automation Magazine - December 2015 - 89
IEEE Robotics & Automation Magazine - December 2015 - 90
IEEE Robotics & Automation Magazine - December 2015 - 91
IEEE Robotics & Automation Magazine - December 2015 - 92
IEEE Robotics & Automation Magazine - December 2015 - 93
IEEE Robotics & Automation Magazine - December 2015 - 94
IEEE Robotics & Automation Magazine - December 2015 - 95
IEEE Robotics & Automation Magazine - December 2015 - 96
IEEE Robotics & Automation Magazine - December 2015 - 97
IEEE Robotics & Automation Magazine - December 2015 - 98
IEEE Robotics & Automation Magazine - December 2015 - 99
IEEE Robotics & Automation Magazine - December 2015 - 100
IEEE Robotics & Automation Magazine - December 2015 - 101
IEEE Robotics & Automation Magazine - December 2015 - 102
IEEE Robotics & Automation Magazine - December 2015 - 103
IEEE Robotics & Automation Magazine - December 2015 - 104
IEEE Robotics & Automation Magazine - December 2015 - 105
IEEE Robotics & Automation Magazine - December 2015 - 106
IEEE Robotics & Automation Magazine - December 2015 - 107
IEEE Robotics & Automation Magazine - December 2015 - 108
IEEE Robotics & Automation Magazine - December 2015 - 109
IEEE Robotics & Automation Magazine - December 2015 - 110
IEEE Robotics & Automation Magazine - December 2015 - 111
IEEE Robotics & Automation Magazine - December 2015 - 112
IEEE Robotics & Automation Magazine - December 2015 - 113
IEEE Robotics & Automation Magazine - December 2015 - 114
IEEE Robotics & Automation Magazine - December 2015 - 115
IEEE Robotics & Automation Magazine - December 2015 - 116
IEEE Robotics & Automation Magazine - December 2015 - 117
IEEE Robotics & Automation Magazine - December 2015 - 118
IEEE Robotics & Automation Magazine - December 2015 - 119
IEEE Robotics & Automation Magazine - December 2015 - 120
IEEE Robotics & Automation Magazine - December 2015 - 121
IEEE Robotics & Automation Magazine - December 2015 - 122
IEEE Robotics & Automation Magazine - December 2015 - 123
IEEE Robotics & Automation Magazine - December 2015 - 124
IEEE Robotics & Automation Magazine - December 2015 - 125
IEEE Robotics & Automation Magazine - December 2015 - 126
IEEE Robotics & Automation Magazine - December 2015 - 127
IEEE Robotics & Automation Magazine - December 2015 - 128
IEEE Robotics & Automation Magazine - December 2015 - 129
IEEE Robotics & Automation Magazine - December 2015 - 130
IEEE Robotics & Automation Magazine - December 2015 - 131
IEEE Robotics & Automation Magazine - December 2015 - 132
IEEE Robotics & Automation Magazine - December 2015 - 133
IEEE Robotics & Automation Magazine - December 2015 - 134
IEEE Robotics & Automation Magazine - December 2015 - 135
IEEE Robotics & Automation Magazine - December 2015 - 136
IEEE Robotics & Automation Magazine - December 2015 - 137
IEEE Robotics & Automation Magazine - December 2015 - 138
IEEE Robotics & Automation Magazine - December 2015 - 139
IEEE Robotics & Automation Magazine - December 2015 - 140
IEEE Robotics & Automation Magazine - December 2015 - 141
IEEE Robotics & Automation Magazine - December 2015 - 142
IEEE Robotics & Automation Magazine - December 2015 - 143
IEEE Robotics & Automation Magazine - December 2015 - 144
IEEE Robotics & Automation Magazine - December 2015 - 145
IEEE Robotics & Automation Magazine - December 2015 - 146
IEEE Robotics & Automation Magazine - December 2015 - 147
IEEE Robotics & Automation Magazine - December 2015 - 148
IEEE Robotics & Automation Magazine - December 2015 - 149
IEEE Robotics & Automation Magazine - December 2015 - 150
IEEE Robotics & Automation Magazine - December 2015 - 151
IEEE Robotics & Automation Magazine - December 2015 - 152
IEEE Robotics & Automation Magazine - December 2015 - 153
IEEE Robotics & Automation Magazine - December 2015 - 154
IEEE Robotics & Automation Magazine - December 2015 - 155
IEEE Robotics & Automation Magazine - December 2015 - 156
IEEE Robotics & Automation Magazine - December 2015 - 157
IEEE Robotics & Automation Magazine - December 2015 - 158
IEEE Robotics & Automation Magazine - December 2015 - 159
IEEE Robotics & Automation Magazine - December 2015 - 160
IEEE Robotics & Automation Magazine - December 2015 - 161
IEEE Robotics & Automation Magazine - December 2015 - 162
IEEE Robotics & Automation Magazine - December 2015 - 163
IEEE Robotics & Automation Magazine - December 2015 - 164
IEEE Robotics & Automation Magazine - December 2015 - 165
IEEE Robotics & Automation Magazine - December 2015 - 166
IEEE Robotics & Automation Magazine - December 2015 - 167
IEEE Robotics & Automation Magazine - December 2015 - 168
IEEE Robotics & Automation Magazine - December 2015 - Cover3
IEEE Robotics & Automation Magazine - December 2015 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com