IEEE Robotics & Automation Magazine - December 2013 - 137

\R
pR(·)

aR

Inverse
qR
Kinematics
Right Arm

aL

Inverse
Kinematics
Left Arm

\L
pL(·)

From (5) and (6), we can define a nonsingular matrix A
and a vector b such that
X L = AX R + b.

qL

Figure 8. A sketch of the kinematic controller. (Photo of Frida
courtesy of ABB.)

was tackled by exploiting the symmetry of both the human
upper body and the robot. However, the mathematical development is somewhat more involved and deserves a more
detailed explanation.
We first need to discriminate between the position and
orientation vector of the right hand X R and the corresponding one related to the left hand X L . For both arms, the right
and the left, the reference frame, centered in the shoulder of
both the human arm and the robotic arm, is oriented in such
a way that the y axis is pointing forward and the z axis is vertical and pointing upward. Hence, to put the left hand in a
position symmetrically equivalent to the right hand, one just
needs to enforce the following constraints:
x L =-x R y L = y R z L = z R.

(5)

As for the Euler angles, some geometrical considerations
lead to
t

L

= r - tR

i

L

= iR

]

L

= r - ] R.

(6)

(7)

Given the desired position and orientation for the left hand
X L, by inverting (7) we can compute the position and the orientation of the right hand X R and compute the corresponding right swivel angle using (3). Then, since the elbow swivel
angle for both the arms is defined as the counter-clockwise
angular deflection of the plane containing the arm with
respect to the vertical plane, it follows that:
p L ^X Lh /-p R ^ A -1 X L - A -1 bh,

(8)

where p R ($) is the function reported in (3).
Experiments on the Prototype Robot
The controller sketched in Figure 8 has been implemented on
top of the industrial ABB robot controller without adding any
additional hardware. The redundancy resolution criterion has
been coded in RAPID (RAPID is the programming language
for ABB robots.), and the two functions p R ($) and p L ($) have
been implemented as function calls in the execution code. The
syntax of each movement instruction is as follows:
MoveL target, speed, zone, tool;

where target specifies both the pose of the tool and the swivel
angle, while speed and zone are parameters for the path planner and tool specifies the parameters of the tool, if any. The
humanlike redundancy resolution strategy has been

(a)

(b)

(c)

(d)

(e)

(f)

Figure 9. The prototype robot Frida during a prescribed assembly-like motion assumes humanlike postures.

DECEMBER 2013

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

137



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

IEEE Robotics & Automation Magazine - December 2013 - Cover1
IEEE Robotics & Automation Magazine - December 2013 - Cover2
IEEE Robotics & Automation Magazine - December 2013 - 1
IEEE Robotics & Automation Magazine - December 2013 - 2
IEEE Robotics & Automation Magazine - December 2013 - 3
IEEE Robotics & Automation Magazine - December 2013 - 4
IEEE Robotics & Automation Magazine - December 2013 - 5
IEEE Robotics & Automation Magazine - December 2013 - 6
IEEE Robotics & Automation Magazine - December 2013 - 7
IEEE Robotics & Automation Magazine - December 2013 - 8
IEEE Robotics & Automation Magazine - December 2013 - 9
IEEE Robotics & Automation Magazine - December 2013 - 10
IEEE Robotics & Automation Magazine - December 2013 - 11
IEEE Robotics & Automation Magazine - December 2013 - 12
IEEE Robotics & Automation Magazine - December 2013 - 13
IEEE Robotics & Automation Magazine - December 2013 - 14
IEEE Robotics & Automation Magazine - December 2013 - 15
IEEE Robotics & Automation Magazine - December 2013 - 16
IEEE Robotics & Automation Magazine - December 2013 - 17
IEEE Robotics & Automation Magazine - December 2013 - 18
IEEE Robotics & Automation Magazine - December 2013 - 19
IEEE Robotics & Automation Magazine - December 2013 - 20
IEEE Robotics & Automation Magazine - December 2013 - 21
IEEE Robotics & Automation Magazine - December 2013 - 22
IEEE Robotics & Automation Magazine - December 2013 - 23
IEEE Robotics & Automation Magazine - December 2013 - 24
IEEE Robotics & Automation Magazine - December 2013 - 25
IEEE Robotics & Automation Magazine - December 2013 - 26
IEEE Robotics & Automation Magazine - December 2013 - 27
IEEE Robotics & Automation Magazine - December 2013 - 28
IEEE Robotics & Automation Magazine - December 2013 - 29
IEEE Robotics & Automation Magazine - December 2013 - 30
IEEE Robotics & Automation Magazine - December 2013 - 31
IEEE Robotics & Automation Magazine - December 2013 - 32
IEEE Robotics & Automation Magazine - December 2013 - 33
IEEE Robotics & Automation Magazine - December 2013 - 34
IEEE Robotics & Automation Magazine - December 2013 - 35
IEEE Robotics & Automation Magazine - December 2013 - 36
IEEE Robotics & Automation Magazine - December 2013 - 37
IEEE Robotics & Automation Magazine - December 2013 - 38
IEEE Robotics & Automation Magazine - December 2013 - 39
IEEE Robotics & Automation Magazine - December 2013 - 40
IEEE Robotics & Automation Magazine - December 2013 - 41
IEEE Robotics & Automation Magazine - December 2013 - 42
IEEE Robotics & Automation Magazine - December 2013 - 43
IEEE Robotics & Automation Magazine - December 2013 - 44
IEEE Robotics & Automation Magazine - December 2013 - 45
IEEE Robotics & Automation Magazine - December 2013 - 46
IEEE Robotics & Automation Magazine - December 2013 - 47
IEEE Robotics & Automation Magazine - December 2013 - 48
IEEE Robotics & Automation Magazine - December 2013 - 49
IEEE Robotics & Automation Magazine - December 2013 - 50
IEEE Robotics & Automation Magazine - December 2013 - 51
IEEE Robotics & Automation Magazine - December 2013 - 52
IEEE Robotics & Automation Magazine - December 2013 - 53
IEEE Robotics & Automation Magazine - December 2013 - 54
IEEE Robotics & Automation Magazine - December 2013 - 55
IEEE Robotics & Automation Magazine - December 2013 - 56
IEEE Robotics & Automation Magazine - December 2013 - 57
IEEE Robotics & Automation Magazine - December 2013 - 58
IEEE Robotics & Automation Magazine - December 2013 - 59
IEEE Robotics & Automation Magazine - December 2013 - 60
IEEE Robotics & Automation Magazine - December 2013 - 61
IEEE Robotics & Automation Magazine - December 2013 - 62
IEEE Robotics & Automation Magazine - December 2013 - 63
IEEE Robotics & Automation Magazine - December 2013 - 64
IEEE Robotics & Automation Magazine - December 2013 - 65
IEEE Robotics & Automation Magazine - December 2013 - 66
IEEE Robotics & Automation Magazine - December 2013 - 67
IEEE Robotics & Automation Magazine - December 2013 - 68
IEEE Robotics & Automation Magazine - December 2013 - 69
IEEE Robotics & Automation Magazine - December 2013 - 70
IEEE Robotics & Automation Magazine - December 2013 - 71
IEEE Robotics & Automation Magazine - December 2013 - 72
IEEE Robotics & Automation Magazine - December 2013 - 73
IEEE Robotics & Automation Magazine - December 2013 - 74
IEEE Robotics & Automation Magazine - December 2013 - 75
IEEE Robotics & Automation Magazine - December 2013 - 76
IEEE Robotics & Automation Magazine - December 2013 - 77
IEEE Robotics & Automation Magazine - December 2013 - 78
IEEE Robotics & Automation Magazine - December 2013 - 79
IEEE Robotics & Automation Magazine - December 2013 - 80
IEEE Robotics & Automation Magazine - December 2013 - 81
IEEE Robotics & Automation Magazine - December 2013 - 82
IEEE Robotics & Automation Magazine - December 2013 - 83
IEEE Robotics & Automation Magazine - December 2013 - 84
IEEE Robotics & Automation Magazine - December 2013 - 85
IEEE Robotics & Automation Magazine - December 2013 - 86
IEEE Robotics & Automation Magazine - December 2013 - 87
IEEE Robotics & Automation Magazine - December 2013 - 88
IEEE Robotics & Automation Magazine - December 2013 - 89
IEEE Robotics & Automation Magazine - December 2013 - 90
IEEE Robotics & Automation Magazine - December 2013 - 91
IEEE Robotics & Automation Magazine - December 2013 - 92
IEEE Robotics & Automation Magazine - December 2013 - 93
IEEE Robotics & Automation Magazine - December 2013 - 94
IEEE Robotics & Automation Magazine - December 2013 - 95
IEEE Robotics & Automation Magazine - December 2013 - 96
IEEE Robotics & Automation Magazine - December 2013 - 97
IEEE Robotics & Automation Magazine - December 2013 - 98
IEEE Robotics & Automation Magazine - December 2013 - 99
IEEE Robotics & Automation Magazine - December 2013 - 100
IEEE Robotics & Automation Magazine - December 2013 - 101
IEEE Robotics & Automation Magazine - December 2013 - 102
IEEE Robotics & Automation Magazine - December 2013 - 103
IEEE Robotics & Automation Magazine - December 2013 - 104
IEEE Robotics & Automation Magazine - December 2013 - 105
IEEE Robotics & Automation Magazine - December 2013 - 106
IEEE Robotics & Automation Magazine - December 2013 - 107
IEEE Robotics & Automation Magazine - December 2013 - 108
IEEE Robotics & Automation Magazine - December 2013 - 109
IEEE Robotics & Automation Magazine - December 2013 - 110
IEEE Robotics & Automation Magazine - December 2013 - 111
IEEE Robotics & Automation Magazine - December 2013 - 112
IEEE Robotics & Automation Magazine - December 2013 - 113
IEEE Robotics & Automation Magazine - December 2013 - 114
IEEE Robotics & Automation Magazine - December 2013 - 115
IEEE Robotics & Automation Magazine - December 2013 - 116
IEEE Robotics & Automation Magazine - December 2013 - 117
IEEE Robotics & Automation Magazine - December 2013 - 118
IEEE Robotics & Automation Magazine - December 2013 - 119
IEEE Robotics & Automation Magazine - December 2013 - 120
IEEE Robotics & Automation Magazine - December 2013 - 121
IEEE Robotics & Automation Magazine - December 2013 - 122
IEEE Robotics & Automation Magazine - December 2013 - 123
IEEE Robotics & Automation Magazine - December 2013 - 124
IEEE Robotics & Automation Magazine - December 2013 - 125
IEEE Robotics & Automation Magazine - December 2013 - 126
IEEE Robotics & Automation Magazine - December 2013 - 127
IEEE Robotics & Automation Magazine - December 2013 - 128
IEEE Robotics & Automation Magazine - December 2013 - 129
IEEE Robotics & Automation Magazine - December 2013 - 130
IEEE Robotics & Automation Magazine - December 2013 - 131
IEEE Robotics & Automation Magazine - December 2013 - 132
IEEE Robotics & Automation Magazine - December 2013 - 133
IEEE Robotics & Automation Magazine - December 2013 - 134
IEEE Robotics & Automation Magazine - December 2013 - 135
IEEE Robotics & Automation Magazine - December 2013 - 136
IEEE Robotics & Automation Magazine - December 2013 - 137
IEEE Robotics & Automation Magazine - December 2013 - 138
IEEE Robotics & Automation Magazine - December 2013 - 139
IEEE Robotics & Automation Magazine - December 2013 - 140
IEEE Robotics & Automation Magazine - December 2013 - 141
IEEE Robotics & Automation Magazine - December 2013 - 142
IEEE Robotics & Automation Magazine - December 2013 - 143
IEEE Robotics & Automation Magazine - December 2013 - 144
IEEE Robotics & Automation Magazine - December 2013 - 145
IEEE Robotics & Automation Magazine - December 2013 - 146
IEEE Robotics & Automation Magazine - December 2013 - 147
IEEE Robotics & Automation Magazine - December 2013 - 148
IEEE Robotics & Automation Magazine - December 2013 - 149
IEEE Robotics & Automation Magazine - December 2013 - 150
IEEE Robotics & Automation Magazine - December 2013 - 151
IEEE Robotics & Automation Magazine - December 2013 - 152
IEEE Robotics & Automation Magazine - December 2013 - 153
IEEE Robotics & Automation Magazine - December 2013 - 154
IEEE Robotics & Automation Magazine - December 2013 - 155
IEEE Robotics & Automation Magazine - December 2013 - 156
IEEE Robotics & Automation Magazine - December 2013 - 157
IEEE Robotics & Automation Magazine - December 2013 - 158
IEEE Robotics & Automation Magazine - December 2013 - 159
IEEE Robotics & Automation Magazine - December 2013 - 160
IEEE Robotics & Automation Magazine - December 2013 - 161
IEEE Robotics & Automation Magazine - December 2013 - 162
IEEE Robotics & Automation Magazine - December 2013 - 163
IEEE Robotics & Automation Magazine - December 2013 - 164
IEEE Robotics & Automation Magazine - December 2013 - 165
IEEE Robotics & Automation Magazine - December 2013 - 166
IEEE Robotics & Automation Magazine - December 2013 - 167
IEEE Robotics & Automation Magazine - December 2013 - 168
IEEE Robotics & Automation Magazine - December 2013 - 169
IEEE Robotics & Automation Magazine - December 2013 - 170
IEEE Robotics & Automation Magazine - December 2013 - 171
IEEE Robotics & Automation Magazine - December 2013 - 172
IEEE Robotics & Automation Magazine - December 2013 - 173
IEEE Robotics & Automation Magazine - December 2013 - 174
IEEE Robotics & Automation Magazine - December 2013 - 175
IEEE Robotics & Automation Magazine - December 2013 - 176
IEEE Robotics & Automation Magazine - December 2013 - Cover3
IEEE Robotics & Automation Magazine - December 2013 - 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