Binary manipulators

copygrouperMechanics

Nov 13, 2013 (3 years and 11 months ago)

72 views

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.