Upload
livvy
View
40
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Joint Advanced Student School 2006. Binary Manipulator Motion Planning. by Vasiliy Chernonozhkin CSRI RTC, SPbSPU Saint-Petersburg 200 6. Most robots available today are powered by continuous actuators such as DC motors or hydraulic cylinders. - PowerPoint PPT Presentation
Citation preview
Joint Advanced Student Joint Advanced Student School 2006School 2006
Binary Manipulator Motion Planningby Vasiliy Chernonozhkin
CSRI RTC, SPbSPU
Saint-Petersburg
2006
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 literatureDiscrete 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 literatureSensorless 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-revolutemanipulator
For a serial-revolute manipulator (Fig. 9) the kinematicsof an individual module in a particular stateare described by:
.1
0
));sin(),cos((
max
min
ii
iii
iiiii
sifq
sifq
llb
An efficient algorithm for computing the forward kinematics
The forward kinematics for a single VGT module (Fig. 10) obey the following geometric constraints:
.)()(
;
;)(
;
2210
210
20
20
20
22
21
21
21
21
21
wyyxx
qyx
qywx
qyx
These equations are solved simultaneously forthe coordinates of the top plate of the truss:
Fig. 10. VGT module
,,2
4
,2
,2
20
200
2
0
2221
222
11
221
22
1
xqya
acbbx
w
wqqqy
w
wqqx
where:
.4222
;4
;44
20
21
4221
220
21
20
40
41
1211
201
2
21
21
qywwqwqqqqqc
xqxqxwb
yxa
.,2
)(,
2
)(
01
011010
ii
iii
iiiii xx
yyarctg
yyxxb So,
An efficient algorithm for computing the forward kinematics
Pre-computation algorithm
Inputs to the algorithm: qj
min, qjmax, the joint limits for each actuator in the manipulator in
states 0 and 1 respectively, for j = 1,…,J. wi, the width of the top of module i for a truss-type manipulator, or
li, the length of link i in a serial-revolute manipulator, for i = 1,…,B.
for i = 1 to Bfor j = 1 to J
Use the kinematic parameters of module ito compute Ci for state j.
endend
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. Ci, for i = 1,…,B, the configuration sets for the modules in the manipulator.Outputs from the algorithm: EEpos, the position of the manipulator’s end-effector. see, cee, the sin and cos of the end-effector orientation angle for the 2D case, or
Ree, the rotation matrix describing end-effector orientation, in the 3D case.
EEpos = 0; Ree = I;for i = 1 to B
select Ci
EEpos = EEpos + Rsibsi;Ree = Rsi Ree;
endend
A combinatorial method for computing the inverse kinematics
The standard definition of the binomial theorem:
inin
i
n yxi
nyx
0
)(
If we let x = 1 and let y = 1, we get the following result:
.2
;11)11(
0
0
n
i
n
inin
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 itstarget 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 thatbest moves the robot toward its target position.
k
JJJJ...
210
Operation is defined as follows:
k
n
).1)...(2)(1(!
1
1)...1)((
1)...)...(1(
!
1
)!(
!
!
1
)!(!
!
knnnnk
knkn
knnn
k
kn
n
kknk
n
k
n
A combinatorial method for computing the inverse kinematics
Algorithm description
Inputs to the algorithm: EEdes, the desired position of the manipulator’s end-effector. EEnow, the current position of the manipulator’s end-effector. pnow, the manipulator’s current state vector. nmax, 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 descriptiondmin = cost(EEdes, EEnow);pmin = pnow;bmin = 0;for i = 1 to nmax
for j = 1 toc = combo(B, i, j);ptest = c pnow;dtest = cost(EEdes, fwdKin(ptest));if dtest < dmin then
dmin = dtest;pmin = ptest;bmin = i;
endend
endreturn dmin, pmin, bmin
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(2n), brute force representation of binary manipulator workspaces is not feasible in the highly actuated case.
Efficient workspace generationConcepts 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 avolume/are
block within points reachable of #
,block workspaceof avolume/are
blockithin position w-eein resulting statesr manipulatobinary #
ρ(block)
or(block)
NRW
Efficient workspace generationConcepts for discrete workspaces
The ith 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 RN is a transformation of the formy = Ax + b, where x, y, and b are vectors in RN, and A is an arbitrary matrix in RNxN.
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 generationEfficient 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 2k 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 generationEfficient 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, iL, jL, kL, 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.
},,,{ L0 xΔxxDД NR0x
Tzyx ],,[ Δx
TLLL zyx ],,[Lx
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 x0 of the workspace, such that the range of possible indices of the array is simply
),,( 000 kji
Tzyx ],,[x
.2,...,1,,...,1,0
,2,...,1,,...,1,0
,2,...,1,,...,1,0
000
000
000
kkkk
jjjj
iiii
),,( kji
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:
Tzyx ],,[x),,( kji
).()(),,(
),()(),,(
),()(),,(
00
00
00
kkzzkzkjiz
jjyyjykjiy
iixxixkjix
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:
Tzyx ],,[x),,( kji
.5.0)(
)(),,(
,5.0)(
)(),,(
,5.0)(
)(),,(
00
00
00
kz
zzzkzyxk
jy
yyyjzyxj
ix
xxxizyxi
is the floor operation: x 5.0)( xxRound
Efficient workspace generationThe workspace mapping algorithm
Iteration s of the algorithm, which deals with module m = B-s+1:1. Estimate size and location of intermediate workspace Wm-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( mmm zyx
),,( )1()1()1( mL
mL
mL kji
),,( )1(0
)1(0
)1(0
mmm zyx),,( )1(
0)1(
0)1(
0 mmm kji
Efficient workspace generationThe 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 Dm:
For all indices for which the entry of the density array Dm 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 mJl 2,...,1
),,( kji ),,( kjiDm
Tiziyix )](),(),([x1 m
(m)l
(m)l WbxRx
),,( kji
)).,,(),,((),,( 11 kjiDkjiDkjiD mmm
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.