IEEE Robotics & Automation Magazine - September 2014 - 107

method able to compute the whole solution
set. The method departs from an initial box
problem.param
problem.world
bounding this set and effectively prunes
cuikexplore
unfeasible portions of the box until all solucuikequations
tion points are isolated at the desired accuproblem.cuik
problem.joints
racy. Software toolboxes, such as ALIAS [16],
Bertini [1], and PHC [28], have been succescuikatlas
rmpicuik
cuik
cuikatlasrrt
fully applied to kinematics, but they implement general methods for solving systems of
problem.sol problem.atlas problem_path.sol problem.rrt
algebraic equations. In contrast, the CUIK
suite sacrifices generality to gain simplicity
cuikplot3d cuikplotatlas cuikplayer
cuikplotrrt
and efficiency in the implementation.
Opposite to [1] and [28], moreover, it
problem.gcl problem_atlas.gcl
problem_rrt.gcl
directly isolates the real roots instead of the
complex ones, which is beneficial in practice.
While many approaches can only identify
geomview
the solutions when they are isolated points,
the branch-and-prune methods in the CUIK
Figure 2. A representative set of the commands implemented in the CUIK
suite can also approximate positive-dimensuite (ellipses) and their input/output files (rectangles). The parameters file
sional solutions. This can be used to compute
problem.param is used by all the commands. The suite implements many
other tools not shown here for simplicity. Note: geomview is an external
the whole C-space or some of its subsets, provisualization program.
viding global information on the motion
capabilities of a manipulator. In particular, by
adequately defining the equations passed to the solver, the branch-and-prune methods proceed by discarding nonvalid
CUIK suite can isolate the workspace boundaries and any of configurations, continuation techniques march from a given
the singularity sets typically defined [7], becoming the first point in all directions identifying new feasible configurations.
general tool able to do so, to the best of our knowledge.
Local charts of the C-space are constructed and coordinated
Branch-and-prune methods are complete in the sense that along the way, defining a global atlas that is suitable to deterthey obtain all configurations, irrespective of whether they mine feasible motion ranges, optimal configurations, or paths
form one or several connected components. In many prob- between configurations. Packages to compute the latter exist,
lems, however, it may be sufficient to explore only those con- but they are oriented to open-chain robots [9], [15], [26], [27]
figurations that are path connected to a given point. To this or to specific classes of closed-chain devices [14]. The CUIK
end, the CUIK suite implements higher dimensional continu- suite complements these packages by providing the new
ation tools to trace arbitrary manifolds [10]. While methods to deal with the general closed-chain case. For

P = (x, y)

i
l3

u3

u2
Y
l2

u1
X
O
l1

Figure 3. A planar arm welding on a beam. The goal is to weld
on a particular point P with orientation i.

[constants]
11:= 1
l2:= 1
l3:= 1.3
x:= 0.25
y:= 2.05
theta:= pi/2
[system vars]
u1_x: [-1,1]
u1_y: [-1,1]
u2_x: [-1,1]
u2_y: [-1,1]
u3_x: [-1,1]
u3_y: [-1,1]
[system eqs]
u1_xˆ2+u1_yˆ2=1;
u2_xˆ2+u2_yˆ2=1;
u3_x=cos(theta);
u3_y=sin(theta);
l1*u1_x+l2*u2_x+l3*u3_x=x;
l1*u1_y+l2*u2_y+l3*u3_y=y;
Example 1. The welding.cuik file encoding the problem
in Figure 3.

september 2014

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

107



Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - September 2014

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