Title: Joint Advanced Student School 2006
1Joint Advanced Student School 2006
- Binary Manipulator Motion Planning
by Vasiliy Chernonozhkin CSRI RTC,
SPbSPU Saint-Petersburg 2006
2Introduction
- 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.
3Binary manipulator concept
- The binary manipulator concept is influenced by
several successive concepts
- hyper-redundant structure
4Related 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.
5Related literature Hyper-redundancy
- Fig. 1. Three major types of hyper-redundant
manipulators - (a) continuous, (b) serial, and (c) cascaded
platforms
6Related 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.
7Binary 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.
8Variable Geometry Truss manipulator
- Fig. 2. All possible configurations of a 3-bit
planar binary platform manipulator one VGT
module
9Variable Geometry Truss manipulator
- Fig. 3. Configurations 110001110001110 and
001110001110001 of 15-DOF planar VGT manipulator
10Variable Geometry Truss manipulator
- Fig. 4. Planar 30-DOF binary robot manipulator by
Chirikjian and Burdick
11Variable Geometry Truss manipulator
- Fig. 5. Ebert-Uphoffs binary robot manipulator
12Variable Geometry Truss manipulator
- Fig. 6. Suthakorns discretely-actuated
hyper-redundant robotic manipulator
13Binary Robotic Articulated Intelligent Device
(BRAID)
- Fig. 7. BRAIDs i-th parallel link stage
- (a) physical parallel link stage (b)
diagrammatic representation.
14Binary Robotic Articulated Intelligent Device
(BRAID)
- Fig. 8. Detent based binary joint
15Binary 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.
16An efficient algorithm for computing the forward
kinematics
For a serial-revolute manipulator (Fig. 9) the
kinematics of an individual module in a
particular state are described by
Fig. 9. Serial-revolute manipulator
17An efficient algorithm for computing the forward
kinematics
The forward kinematics for a single VGT module
(Fig. 10) obey the following geometric
constraints
These equations are solved simultaneously for the
coordinates of the top plate of the truss
where
Fig. 10. VGT module
So,
18An efficient algorithm for computing the forward
kinematics
- Pre-computation algorithm
- Inputs to the algorithm
- qjmin, 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 B
- for j 1 to J
- Use the kinematic parameters of module i
- to compute Ci for state j.
- end
- end
19An 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 manipulators
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
- end
- end
20A combinatorial method for computing the inverse
kinematics
The standard definition of the binomial theorem
If we let x 1 and let y 1, we get the
following result
21A 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.
Operation is defined as follows
22A combinatorial method for computing the inverse
kinematics
- Algorithm description
- Inputs to the algorithm
- EEdes, the desired position of the manipulators
end-effector. - EEnow, the current position of the manipulators
end-effector. - pnow, the manipulators current state vector.
- nmax, the maximum number of bits allowed to
change in the manipulators 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).
23A combinatorial method for computing the inverse
kinematics
- Algorithm description
- dmin cost(EEdes, EEnow)
- pmin pnow
- bmin 0
- for i 1 to nmax
- for j 1 to
- c combo(B, i, j)
- ptest c pnow
- dtest cost(EEdes, fwdKin(ptest))
- if dtest lt dmin then
- dmin dtest
- pmin ptest
- bmin i
- end
- end
- end
- return dmin, pmin, bmin
24Efficient 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.
25Efficient 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.
26Efficient workspace generation
- Concepts 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 form - y 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.
27Efficient 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 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.
28Efficient 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, 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.
29Efficient workspace generation
- Fig. 11. Representation of a workspace as a
density set
30Efficient 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
31Efficient 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
32Efficient 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
is the floor operation
33Efficient workspace generation
- The workspace mapping algorithm
- Iteration s of the algorithm, which deals with
module m B-s1 - 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.
34Efficient workspace generation
- The workspace mapping algorithm
- Iteration s of the algorithm, which deals with
module m B-s1 - 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
35HRM Modeler
- Fig. 12. The main window of the modeling program
36HRM 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.
37HRM Modeler
- Fig. 13. The outcome of a combinatorial algorithm
for the inverse kinematics of 30-DOF VGT
manipulator
38HRM Modeler
- Fig. 13. The outcome of a combinatorial algorithm
for the inverse kinematics of 30-DOF VGT
manipulator
39HRM Modeler
- Fig. 13. The outcome of a combinatorial algorithm
for the inverse kinematics of 30-DOF VGT
manipulator
40HRM Modeler
- Fig. 13. The outcome of a combinatorial algorithm
for the inverse kinematics of 30-DOF VGT
manipulator
41HRM Modeler
- Fig. 14. The 15-DOF VGT manipulator workspace
42Summary
- 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.