Joint Advanced Student
School 2006
Binary Manipulator Motion Planning
by Vasiliy Chernonozhkin
CSRI RTC, SPbSPU
Saint

Petersburg
200
6
Introduction
Most robots available today are powered by continuous actuators
such as DC motors or hydraulic cylinders.
Continuously actuated robots can be built to be precise and to
carry large pay loads, but they usually have high
price/performance ratios, as evidenced by the high cost of
industrial robots available today.
Thus, there is a need for a new paradigm in robotics which will
lead to lower cost and higher reliability.
Binary manipulator concept
The binary manipulator concept is influenced by several
successive concepts:
discrete actuation
;
sensorless systems.
hyper

redundant structure;
Related literature
Discrete actuation
[1] Pieper D.L. The Kinematics of Manipulators under Computer Control, 1968.
[2] Roth B., Rastegar J., Scheinman V. On the Design of Computer Controlled
Manipulators, 1973.
[3] Koliskor A. The 1

Coordinate Approach to the Industrial Robots Design, 1986.
[4] Kumar A., Waldron K.J. Numerical Plotting of Surfaces of Positioning Accuracy of
manipulators, 1980.
[5] Sen D., Mruthyunjaya T.S. A Discrete State Perspective of Manipulator
Workspaces, 1994.
Hyper

redundancy
[6] Chirikjian G.S. Theory and Applications of Hyper

Redundant Robotic
Manipulators, 1992.
[7] Chirikjian G.S., Burdick J.W. An Obstacle Avoidance Algorithm for Hyper

Redundant Manipulators, 1990.
[8] Anderson V.V., Horn R.C. Tensor

Arm Manipulator Design, 1967.
[9] Hirose S., Umetani Y. Kinematic Control of Active Cord Mechanism with Tactile
Sensors, 1976.
[10] Hirose S., Yokoshima K., Ma S. 2 DOF Moray Drive for Hyper

Redundant
Manipulator, 1992.
Related literature: Hyper

redundancy
Fig. 1. Three major types of hyper

redundant manipulators:
(a) continuous, (b) serial, and (c) cascaded platforms
Related literature
Sensorless systems
[14] Canny J., Goldberg K. A Rise Paradigm for Industrial Robotics, 1993.
[15] Mason M.T. Kicking the Sensing Habit, 1993.
[16] Goldberg K. Orienting Polygonal Parts Without Sensors, 1992.
[17] Erdmann M.A., Mason M.T. Exploration of Sensorless Manipulation, 1988.
Binary manipulators
[18] Bergstrom P.L., Tamagawa T., Polla D.L. Design and Fabrication of
Micromechanical Logic Elements, 1990.
[19] Ebert

Uphoff I., Chirikjian G.S. Efficient Workspace Generation for Binary
Manipulators with Many Actuators, 1995.
[20] Chirikjian G.S. Kinematic Synthesis of Mechanisms and Robotic Manipulators
with Binary Actuators, 1995.
[21] Chirikjian G.S., Lees D. Inverse Kinematics of Binary Manipulators with
Applications to Service Robotics, 1995.
Binary manipulator concept
Binary manipulators are a particular kind of discrete device in which
actuators have two stable states.
Major benefits of binary manipulators are:
they can be operated without extensive feedback control;
they are relatively inexpensive;
they are relatively lightweight and have a high payload to arm
weight ratio;
their task repeatability is very high.
Variable Geometry Truss manipulator
Fig. 2. All possible configurations of a 3

bit planar binary platform
manipulator
–
one VGT module
Variable Geometry Truss manipulator
Fig. 3. Configurations 110001110001110 and 001110001110001 of
15

DOF planar VGT manipulator
Variable Geometry Truss manipulator
Fig. 4. Planar 30

DOF binary
robot manipulator by
Chirikjian and Burdick
Variable Geometry Truss manipulator
Fig. 5. Ebert

Uphoff’s binary
robot manipulator
Variable Geometry Truss manipulator
Fig. 6. Suthakorn’s discretely

actuated hyper

redundant
robotic manipulator
Binary Robotic Articulated Intelligent
Device (BRAID)
Fig. 7. BRAID’s
i

th parallel link stage:
(a) physical parallel link stage; (b) diagrammatic representation.
Binary Robotic Articulated Intelligent
Device (BRAID)
Fig. 8. Detent based binary joint
Binary manipulator motion planning
While the hardware costs of a binary manipulator are lower than of a
continuously actuated manipulator, there is a tradeoff in the
complexity of the trajectory planning software.
The large number of possible states of a binary manipulator makes it
highly desirable to have efficient algorithms for searching through
some (potentially large) subset of manipulator configurations that
satisfy a particular constraint, so that an “optimal” configuration
can be chosen.
Since the mid 1990s Chirikjian and co

workers have developed a
variety of efficient algorithms for highly actuated discrete

state
robots and mechanisms. These include approaches to the
kinematic synthesis of such mechanisms, the generation of
workspaces and inverse kinematics.
An efficient algorithm for computing
the forward kinematics
Fig. 9. Serial

revolute
manipulator
For a serial

revolute manipulator (Fig. 9) the kinematics
of an individual module in a particular state
are described by:
.
1
0
));
sin(
),
cos(
(
max
min
i
i
i
i
i
i
i
i
i
i
s
if
q
s
if
q
l
l
b
An efficient algorithm for computing
the forward kinematics
The forward kinematics for a single VGT module (Fig. 10) obey the following
geometric constraints:
.
)
(
)
(
;
;
)
(
;
2
2
1
0
2
1
0
2
0
2
0
2
0
2
2
2
1
2
1
2
1
2
1
2
1
w
y
y
x
x
q
y
x
q
y
w
x
q
y
x
These equations are solved simultaneously for
the coordinates of the top plate of the truss:
Fig. 10. VGT module
,
,
2
4
,
2
,
2
2
0
2
0
0
2
0
2
2
2
1
2
2
2
1
1
2
2
1
2
2
1
x
q
y
a
ac
b
b
x
w
w
q
q
q
y
w
w
q
q
x
where:
.
4
2
2
2
;
4
;
4
4
2
0
2
1
4
2
2
1
2
2
0
2
1
2
0
4
0
4
1
1
2
1
1
2
0
1
2
2
1
2
1
q
y
w
w
q
w
q
q
q
q
q
c
x
q
x
q
x
w
b
y
x
a
.
,
2
)
(
,
2
)
(
0
1
0
1
1
0
1
0
i
i
i
i
i
i
i
i
i
i
x
x
y
y
arctg
y
y
x
x
b
So,
An efficient algorithm for computing
the forward kinematics
Pre

computation algorithm
Inputs to the algorithm:
q
j
min
,
q
j
max
, the joint limits for each actuator in the manipulator in
states
0
and
1
respectively, for
j = 1,…,J
.
w
i
, the width of the top of module
i
for a truss

type manipulator, or
l
i
, the length of link
i
in a serial

revolute manipulator, for
i = 1,…,B
.
for
i = 1
to
B
for
j = 1
to
J
Use the kinematic parameters of module
i
to compute
C
i
for state
j
.
end
end
An efficient algorithm for computing
the forward kinematics
Main algorithm
Inputs to the algorithm:
S
, a
J

bit binary number representing the current state of the manipulator.
C
i
, for
i = 1,…,B
, the configuration sets for the modules in the manipulator.
Outputs from the algorithm:
EE
pos
, the position of the manipulator’s end

effector.
s
ee
,
c
ee
, the
sin
and
cos
of the end

effector orientation angle for the 2D
case, or
R
ee
, the rotation matrix describing end

effector orientation, in the
3D case.
EE
pos
= 0; R
ee
= I;
for
i = 1
to
B
select
C
i
EE
pos
= EE
pos
+ R
si
b
si
;
R
ee
= R
si
R
ee
;
end
end
A combinatorial method for
computing the inverse kinematics
The standard definition of the binomial theorem:
i
n
i
n
i
n
y
x
i
n
y
x
0
)
(
If we let
x = 1
and let
y = 1
, we get the following result:
.
2
;
1
1
)
1
1
(
0
0
n
i
n
i
n
i
n
i
n
i
n
i
n
A combinatorial method for
computing the inverse kinematics
Consider a VGT robot with
J
actuators, which we move toward its
target location by changing no more than
k
of its actuators at a time.
To do this we must search through:
candidate states to find the one that
best moves the robot toward its target position.
k
J
J
J
J
...
2
1
0
Operation is defined as follows:
k
n
).
1
)...(
2
)(
1
(
!
1
1
)...
1
)(
(
1
)...
)...(
1
(
!
1
)!
(
!
!
1
)!
(
!
!
k
n
n
n
n
k
k
n
k
n
k
n
n
n
k
k
n
n
k
k
n
k
n
k
n
A combinatorial method for
computing the inverse kinematics
Algorithm description
Inputs to the algorithm:
EE
des
, the desired position of the manipulator’s end

effector.
EE
now
, the current position of the manipulator’s end

effector.
p
now
, the manipulator’s current state vector.
n
max
, the maximum number of bits allowed to change in the
manipulator’s state vector.
B
, the number of degrees of freedom (same as number of bits) of
the manipulator.
The geometry of the manipulator modules for computing the
forward kinematics (using, for example, the method described
earlier).
Algorithm description
d
min
= cost(
EE
des
,
EE
now
);
p
min
=
p
now
;
b
min
= 0
;
for
i = 1
to
n
max
for
j =
1
to
c
= combo(
B, i, j
);
p
test
= c p
now
;
d
test
= cost(
EE
des
,
fwdKin(p
test
)
);
if
d
test
< d
min
then
d
min
= d
test
;
p
min
= p
test
;
b
min
= i
;
end
end
end
return
d
min
, p
min
, b
min
A combinatorial method for
computing the inverse kinematics
i
B
Efficient workspace generation
Determining the workspace of a binary manipulator is of great
practical importance for a variety of applications.
A representation of the workspace is essential for:
trajectory tracking,
motion planning,
the optimal design
of binary manipulators.
Given that the number of configurations attainable by binary
manipulators grows exponentially in the number of actuated DOF,
O(2
n
)
, brute force representation of binary manipulator
workspaces is not feasible in the highly actuated case.
Efficient workspace generation
Concepts
for
discrete
workspaces
The
point
density
ρ
assigns
each
block
of
the
number
of
binary
manipulator
states
resulting
in
an
end

effector
position
within
the
block,
normalized
by
the
volume
of
the
block
:
The
point
density
array
,
or
density
array
for
short,
is
an
N

dimensional
array
of
integers
(
D(i,
j)
for
N
=
2
or
D(i,
j,
k)
for
N
=
3
)
in
which
each
field/element
corresponds
to
one
block
of
the
workspace
and
contains
the
number
of
binary
manipulator
states
causing
the
end

effector
to
be
in
this
block
.
.
block
of
a
volume/are
block
within
points
reachable
of
#
,
block
workspace
of
a
volume/are
block
ithin
position w

ee
in
resulting
states
r
manipulato
binary
#
ρ(block)
or
(block)
N
R
W
Efficient workspace generation
Concepts
for
discrete
workspaces
The
i
th
intermediate
workspace
of
a
macroscopically
serial
manipulator
composed
of
B
modules
is
the
workspace
of
the
partial
manipulator
from
module
i
+
1
to
the
end

effector
.
An
affine
transformation
in
R
N
is
a
transformation
of
the
form
y
=
Ax
+
b
,
where
x
,
y
,
and
b
are
vectors
in
R
N
,
and
A
is
an
arbitrary
matrix
in
R
NxN
.
A
homogenous
transformation
is
a
special
case
of
an
affine
transformation
:
y
=
Rx
+
b
,
where
R
is
a
special
orthogonal
matrix,
i
.
e
.
,
an
orthogonal
matrix
with
determinant
1
.
Efficient workspace generation
Efficient representation of workspaces
Requirements for potential workspace representations:
1. The amount of data stored at any time must be far less than the
explicit storage of an intermediate workspace, which would
require
2
k
N

dimensional vectors for
k
≤ n
.
2. The positional error caused by the representation of the
workspace has to be small. In the ideal case it must stay below a
given bound.
3. It is crucial that the workspace representation used supports
efficient computation of affine transformations.
4. It is desirable to be able to quickly test whether a particular vector
lies in an intermediate workspace.
Efficient workspace generation
Efficient representation of workspaces
A density set
is a computational structure containing
the following information:
A reference point that defines a point of the workspace in
real coordinates.
The resolution of the discretization, i.e. block dimensions given
by
.
The dimensions/length of the array in each direction, either in
real (workspace) coordinates,
, or as integers,
i
L
,
j
L
,
k
L
, giving the numbers of pixels/voxels for the particular
resolution.
The density array,
D
, of the workspace, which is an
N

dimensional array of integers representing the point density of
the workspace multiplied by block volume.
}
,
,
,
{
L
0
x
Δx
x
D
Д
N
R
0
x
T
z
y
x
]
,
,
[
Δx
T
L
L
L
z
y
x
]
,
,
[
L
x
Efficient workspace generation
Fig. 11. Representation of a workspace as a density set
Efficient workspace generation
Efficient representation of workspaces
For given workspace coordinates
, the corresponding
array indices
can be find as follows:
First
are chosen to be the indices corresponding to the
middle point
x
0
of the workspace, such that the range of possible
indices of the array is simply
)
,
,
(
0
0
0
k
j
i
T
z
y
x
]
,
,
[
x
.
2
,...,
1
,
,...,
1
,
0
,
2
,...,
1
,
,...,
1
,
0
,
2
,...,
1
,
,...,
1
,
0
0
0
0
0
0
0
0
0
0
k
k
k
k
j
j
j
j
i
i
i
i
)
,
,
(
k
j
i
Efficient workspace generation
Efficient representation of workspaces
For given workspace coordinates
, the corresponding
array indices
can be find as follows:
The rule to calculate workspace coordinates from array indices is:
T
z
y
x
]
,
,
[
x
)
,
,
(
k
j
i
).
(
)
(
)
,
,
(
),
(
)
(
)
,
,
(
),
(
)
(
)
,
,
(
0
0
0
0
0
0
k
k
z
z
k
z
k
j
i
z
j
j
y
y
j
y
k
j
i
y
i
i
x
x
i
x
k
j
i
x
Efficient workspace generation
Efficient representation of workspaces
For given workspace coordinates
, the corresponding
array indices
can be find as follows:
The inverse problem is solved as follows:
T
z
y
x
]
,
,
[
x
)
,
,
(
k
j
i
.
5
.
0
)
(
)
(
)
,
,
(
,
5
.
0
)
(
)
(
)
,
,
(
,
5
.
0
)
(
)
(
)
,
,
(
0
0
0
0
0
0
k
z
z
z
z
k
z
y
x
k
j
y
y
y
y
j
z
y
x
j
i
x
x
x
x
i
z
y
x
i
is the floor operation:
x
5
.
0
)
(
x
x
Round
Efficient workspace generation
The workspace mapping algorithm
Iteration
s
of the algorithm, which deals with module
m = B

s+1
:
1. Estimate size and location of intermediate workspace
W
m

1
. Based
on this information:
Choose the dimensions of a block in the new density array:
.
Based on these dimensions determine the number of fields of the
density array in each direction:
.
Allocate sufficient memory for this density array and initialize it
with zeros.
Determine the coordinates of the middle point of the new
workspace:
.
Determine the array indices,
, of the middle point
of the new array.
)
,
,
(
)
1
(
)
1
(
)
1
(
m
m
m
z
y
x
)
,
,
(
)
1
(
)
1
(
)
1
(
m
L
m
L
m
L
k
j
i
)
,
,
(
)
1
(
0
)
1
(
0
)
1
(
0
m
m
m
z
y
x
)
,
,
(
)
1
(
0
)
1
(
0
)
1
(
0
m
m
m
k
j
i
Efficient workspace generation
The workspace mapping algorithm
Iteration
s
of the algorithm, which deals with module
m = B

s+1
:
2. For all configurations
, (
), apply the
corresponding homogeneous transformation to the density array
D
m
:
For all indices
for which the entry
of the
density array
D
m
is not zero, the following steps are applied:
Calculate the vector
from the array indices .
Calculate the coordinate vector
.
Find the array indices
of
x'
in the new array.
Increment entries in the block of the new array by the
corresponding entry of the old array:
m
(m)
l
(m)
l
C
)
b
,
(R
m
J
l
2
,...,
1
)
,
,
(
k
j
i
)
,
,
(
k
j
i
D
m
T
i
z
i
y
i
x
)]
(
),
(
),
(
[
x
1
m
(m)
l
(m)
l
W
b
x
R
x
)
,
,
(
k
j
i
)).
,
,
(
)
,
,
(
(
)
,
,
(
1
1
k
j
i
D
k
j
i
D
k
j
i
D
m
m
m
HRM Modeler
Fig. 12. The main window of the modeling program
HRM Modeler
Main features of the program are:
VGT structure graphic modeling;
end

effector coordinates and orientation calculation;
manipulator configuration, allowing to reach any given point,
computing;
position error minimization by reducing the distance between end

effector and given point;
manipulator workspace computing and graphic representation.
HRM Modeler
Fig. 13. The outcome of a combinatorial algorithm for the inverse
kinematics
of 30

DOF VGT manipulator
HRM Modeler
Fig. 13. The outcome of a combinatorial algorithm for the inverse
kinematics
of 30

DOF VGT manipulator
HRM Modeler
Fig. 13. The outcome of a combinatorial algorithm for the inverse
kinematics
of 30

DOF VGT manipulator
HRM Modeler
Fig. 13. The outcome of a combinatorial algorithm for the inverse
kinematics
of 30

DOF VGT manipulator
HRM Modeler
Fig. 14. The 15

DOF VGT manipulator workspace
Summary
Binary manipulators are promising alternative to traditional
continuously actuated robots.
Such advantages of binary robots, like low cost, light weight, high
task repeatability and other, makes efforts in studying of binary
manipulators very perspective and practical.
While the latest algorithm, described in this report, is extremely fast
and efficient, there is some limitation in number of binary
manipulator modules. When this limitation is exceeded high
computational costs become an insoluble problem again.
Thus, there is still a problem of finding new decisions and making
new algorithms in binary manipulator motion planning.
Comments 0
Log in to post a comment