Fractal branching ultra-dexterous robots (Bush robots) #
NASA ACRP Quarterly Report, May 1997, Hans Moravec
ADVANCED CONCEPTS RESEARCH PROJECTS
PR-Number 10-86888 Appropriation: 806/70110
CMU Cooperative Agreement NCC7-7
March 1, 1997 - May 31, 1997
Fractal branching ultra-dexterous robots
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA 15213
May 20, 1997
Table of Contents
Optimal Robot Geometry 4
Maximum Grip Size with Branching Level 6
Two-dimensional bush robot prototype 10
Configuration by Simulated Annealing 12
Surfaces could be held without the need to engage actuators on segments within the truss, thus increasing strength and saving power. The geometry also greatly simplifies the problem of configuring the robot to contact a given surface. Once a pair of fingertip positions have been chosen, the connecting vertex is constrained by the finger lengths to one of two unique points, on either side of the line joining the fingertips:
The choice between these two possibilities is often easy, for instance if one lies inside and the other outside the object to be held. Various relatively inexpensive strategies could be used to make the decision in general. For instance, a program could pick the vertex closest to the corresponding node in an elastic (or rubber tree!) configuration described in the first quarterly report. The elastic solver provides approximate answers by stretching a simulated bush to place the fingers at desired locations, then iteratively relaxing the bush, allowing each branch to return towards its natural length, pulling against its connecting branches.
The two-dimensional robot will have difficulties gripping large objects unless its fractal dimension D is equal to 1. If D is less than 1, the coverage of ever larger surfaces will necessarily have ever larger gaps, and at some size the robot will have insufficient fingers per unit length, and thus insufficient strength and grip, to hold the object. If D is greater than 1, the fingers will crowd and overlap as the size of the grasped object grows. Only at D=1 can the finger density remain constant independent of grip size. Altogether, (B=2, D=1) seems a very good geometry for a two dimensional bush robot.
Best Three Dimensional Bush Robot Geometry
The same considerations in three dimensions lead to a (B=3, D=2) geometry, meaning the scale from one level to the next is 1/sqrt 3. D=2 because the usual interaction with 3D objects is via their 2D surfaces, and D=2 allows a robot to uniformly grip a 2D surface of any size. B=3 because in 3D, a rigid anchored frame needs three segments:
Maximum Grip Size with Branching Level
Searching for a configuration of a portion of a bush robot that grips an object is effort wasted if no such configuration exists. For instance, the object may be too large to hold with the available fingers.
The size of an object, or its grasped portion, may be characterized by a bounding sphere. Usually, an object will be graspable if its bounding sphere could be securely held. A sphere will be secure if its motion is constrained in all axes. The three dimensional situation of a (B=3, D=2) robot will be addressed later, but basic insights can be had in the simpler two dimensional analogy of a (B=2, D=1) robot.
In two dimensions, no disk can be held securely by a final tree level without the possibility of slippage:
But, two levels of a tree can securely hold a disk, up to a certain size:
Neglecting branch thickness for the moment, the maximum possible R forces the holding segments to lie tangent to the disk, while the smallest fingertips just reach opposite ends of a diameter:
The smallest (length F1) fingers are tangent to the disk at their tips. Call the disk angle they subtend a1, part of a right triangle that defines a1 = atan(F1/R). By symmetry, the segment of the larger (length F2) branch between its tangent and the smallest finger has length F1, and its subtended angle a2a = a1. The remaining segment has length F2F1, and its angle a2b = atan((F2F1)/R). Fingertip to fingertip subtends an angle P. By symmetry, the left half tree subtends p/2. Thus a1 + a2a + a2b = p/2.
In a (B=2, D=1) robot, F2 = 2 F1, so F2 F1 = F1, and all the arctangents, and thus all the a angles are equal. Thus 3 a1 = p/2, and a1 = p/6 = atan(F1/R), and
R = F1 / tan(p/6) = sqrt 3 F1
Define F1=1, and indicate the number of branch levels by L. The two previous results can then be expressed using the notation:
Rmax(B=2, D=1, L=1) = 0
Rmax(B=2, D=1, L=2) = sqrt 3
The equations for L=3 are analogous:
a1 = atan(F1/R)
a2 = atan(F1/R) + atan((F2F1)/R)
a3 = atan((F2F1)/R) + atan((F3F2+F1)/R)
a1 + a2 + a3 = 2 atan(F1/R) + 2 atan((F2F1)/R) + atan((F3F2+F1)/R)
For general L, the relation becomes
For a two-dimensional (B=2, D=1) robot, Fk = 2k. The arctangents can be absorbed into a single arctangent in this expression by repeatedly applying the identity
atan(X) + atan(Y) = atan((X+Y)/(1XY))
With all but one trigonometric function removed, it may be possible to solve the result as an algebraic equation, maybe with a closed-form for R. We will attempt to find such a solution in the next reporting period. In any case, it is easy to solve EQ1 numerically by Newton's iterative method, and record the results in a small table, one R value for each bush level. A grasping algorithm would consult the table to find the minimum number of bush levels needed to hold an object of given size.
EQ1 applies equally to a three-dimensional robot. For our favored (B=3, D=2) configuration, Fk = 3k/2. Instead of gripping at opposite ends of the diameter of a circle, a three-dimensional B=3 robot would grip at three equally spaced points around a circumference of a sphere. In other respects, the situation is identical to the ones pictured in Figures 1 and 2:
We began this analysis by ignoring the branch thickness. Its effect, to good approximation, can be introduced after the fact by simply subtracting the radius of the largest branch involved in a grip from the radius of the maximal sphere that it can hold.
Programs and Notes
for Simulated Annealing