Section of
Final Report: NASA ACRP NCC7-7,
**Bush Robots**, *Hans Moravec, Jesse Easudes*

** 4: Investigation of Actuated Models**

**Two-Dimensional Bush Robot Prototype**

There were too many uncertainties, early in the project to
undertake the design and construction of a full three-dimensional bush
robot prototype. We thought about gaining some experience with the
physical properties of such a thing. We anticipated simulations would
be slow and of limited realism. As a supplement, we began the design
of a much less mechanically challenging two-dimensional bush. It
would allow us to quickly physically verify many proposed motion and
manipulation techniques.

In three dimensions, we had settled on a (**B** = 3, **D**
= 2) robot, that is, one that branches 3 ways at each level, with a
scaling factor of , giving
the

end fingers a dimension of 2, allowing them to cover a surface
uniformly, without overlap. A major advantage of the configuration is
that when the three fingers of a final level twig are affixed to a
surface, they form a rigid three-sided pyramid. The next level, built
on three such groups, is a larger rigid structure, and so on to the
root of the bush. Besides making for very strong grips, the rigidity
means the configuration of each node is determined, and easily
solvable, from the position of its three sub-nodes.

The closest analogy in two dimensions is a (**B** =2, **D**
=1) robot, 2 way branching, scaling factor 1/2, whose fingers can
cover a line uniformly. Each finger pair forms a rigid triangle when
affixed to a line, resulting in a rigid truss work when all fingers
are fixed. We planned to lay a (**B** =2, **D** =1) robot on a
low friction surface, probably riding on ball casters. With the
surface laid flat, the effect of gravity would be absent. Gravity
could be introduced slowly by tilting the surface towards the
vertical.

We considered actuating the joints with commercial remote control
servos, driven by a small multiplexer board directed by a serial line
from our computer. Such servos are available over at least a 4:1 size
range. For proper scaling, each reduction by two in size should be
accompanied by a doubling in angular speed and a reduction in torque
by a factor of four. We planned to select our servos to approximate
these ratios as closely as possible.

To make the arms of the bush as compact as possible, we would have
stacked the box-shaped servos above one another at each joint, with
the narrow dimension across the width of the branch, as illustrated in
the following diagram.

After further investigation, using remote control servos to build
a two-dimensional working model of a bush looked less attractive. The
size range of available servos is about 4:1 permitting only about five
levels of (**B** =2, **D** =1) branching, or fewer in a
three-dimensional bush. In a two dimensional bush, some of the
servos' bulk and weight might be "hidden" in the third dimension, but
this trick would be impossible in full three-dimensional versions. We
decided to abandon the approach because it offered too little
potential for the effort.

**Shape memory actuation for bush robot prototypes**

We then considered a much lighter design using shape-memory wire
does work in 3D. The thin shape-memory wire can be stretched while
cold, and returns to its shorter original length with great force when
electrically heated. In 2D, the following simple arrangement of a
branchlet has one degree of freedom at its base.

The design scales straightforwardly. Smaller branches can use
smaller nitinol wires, larger ones can use thicker wires, or more
wires pulling in parallel. The parallel arrangement may be desirable,
because the wires can then be wired electrically in series, reducing
the heating current (at the expense of increased voltage), and thus
the thickness of the current supply cabling.

Three wires could give two degrees of freedom in a
three-dimensional branch:

Rotation could be added via two extra wires acting at right angles
on the upper plate, or vertically via a screw linkage. Alternatively,
six wires in a zig-zag pattern could provide pan, tilt and limited
roll control:

The sketches above suggest only discrete motion: two positions in
the 2D case, three or six in the 3D version. Finer control could be
achieved if the length of the shape-memory "muscles" could be
specified to more than two lengths. One idea for doing this would tap
a nitinol wire at binary submultiples of its length, so segments could
be selectively shorted to selectively prevent heating:

In the diagram, let the number defined by **0.d1d2d3d4d5d6** be
called D. If the overall wire has a natural length L, and a stretched
length of S, then the length for a particular setting is given
by

Length = D (M-L) + L

Two such tapped wires, mechanically connected in an opposing pair
as in the 2D joint diagram, each switched with the (ones) complement
of the other's pattern, could be set to a desired position simply by
loading the position (and its complement) into the shorting switches
as a binary number.

This open-loop design would not compensate for sagging at each
joint. Yet, the overall motion could be servoed by measuring critical
end positions, and tweaking the open loop settings of some of the
branches to compensate.

**Shape-Memory Branch Design Considerations**

We then mapped out design parameters for shape-memory-actuated
bush robot segments. The large number of branches in even a modest
bush robot led us to seek the simplest possible configurations for
each branch.

Branches with shape-memory alloy muscles, combining both structure
and easy actuation at almost arbitrary scale, seemed the most
promising candidate. We had no experience in this area. To gain
some, we began our analysis with a very simple preliminary design.
This design configuration does not offer the full range of motion we
think desirable in practical bush robots. It is probably rich and
representative enough to reveal pitfalls, unexpected opportunities and
generally educate us as we use it to devise and construct bushes with
a modest number of levels. The design allows each segment of the bush
to be in one of just four distinct positions. Even with this sever
limitation, the number of configurations of three levels of our
preferred (**B** =3, **D** =2) bush is 4^{1+3+9} = 67,108,864,
quite enough to hold our attention for a while.

**Simple Branch Fundamental Structure**

Our simple branches each have two binary degrees of freedom, in
orthogonal directions, both orthogonal to the length of the branch.
Each degree is controlled by a pair of opposing guy wires of
shape-memory Nitinol, probably coiled for greater elongation. These
coils have a certain short natural length, but can be stretched to
longer lengths when cold. When electrically heated beyond their
critical temperature, they return to their natural length with great
force.

In our arrangement, to change the state of a branch, one of these
opposing coils is kept cold while the other is electrically heated
above its critical temperature. As the heated coil shortens, it
deflects the branch, and stretches the opposing coil.

The full three-dimensional configuration, with two orthogonal sets
of opposing coils is illustrated schematically in the following
figure:

To simplify construction, while avoiding slippage of the actuating
wires, we planned to make the connection between the lower and upper
shafts with a threaded section on the lower shaft, and slotted in a +
pattern. The upper shaft could have a mating threaded opening. The
opposing X coils might actually be a single wire wrapped through the
slots, held in place by tightening the screw connection of the two
parts of the shaft. The Y coils could be held similarly. Here is a
top view of the lower shaft, showing the threading of the X wires.
The Y wires would be wrapped around the two remaining quadrants of the
slotted section:

Besides providing a solid mechanical connection, the joint would
provide the electrical return for the current that heats the Nitinol
wires.

The X and Y axes of actuation operate almost independently. For
convenience, the following presentation will concentrate on just one
axis, without loss of generality. The situation is thus seen in two
dimensional cross-section, and can be illustrated by two-dimensional
diagrams like the following:

**Electrical Actuation**

In addition to simplified mechanics, our preliminary design has a
maximally simple electrical arrangement. Though in future we expect
to control bushes with computer-controlled switches, our preliminary
design uses manual controls.

A nitinol wire reverts to its original length when its temperature
is raised above a critical temperature (also called the Austenite
start temperature). The temperature must not be raised too high,
however, or the coil will anneal and acquire a new natural length. We
ensure that the heating is within the correct range by providing a
prearranged amount of energy, stored in a properly sized capacitor.
The capacitor is discharged into the Nitinol spring, which, as the
major resistance in the circuit, absorbs most of the energy. The
temperature rise is set approximately by this energy divided by the
mass and heat capacity of the spring. The following circuit achieves
the basic aims:

The values of the capacitor C and supply voltage V are chosen so
the VC is a few times the energy required to raise the temperature of
the coil from room temperature to its critical temperature. The
switch is double-throw with a third, spring-returned, center-off
position. When the switch is momentarily operated in one direction or
the other, the branch swings in the same direction. The charging
resistor R is chosen so that the time constant of the RC circuit is
similar to the cooling time constants of the coils. This ensures that
the two coils are not simultaneously hot, and that a single coil is
not overheated by repeated switch operations.

**Mechanical Geometry**

Cold Nitinol wires can elongate as much as 8%, but only for a
small number of cycles before losing their natural length. The number
of cycles grows to millions if the elongation is kept below about 5%.
Greater relative elongations can be achieved by coiling the wire, as
in a spring or on a drum. Uncoiled wire would be the most convenient
actuator, but the small elongation puts severe constraints on the arm
geometry. The constant dimensions of the geometry are illustrated in
the following diagram:

R is the radius of the branch, including all sources of bulk, L is
its length from the pivot base to the wire attachment point, B is the
baseline of the wire anchor. Motion of the branch introduces two
variables, wire length W and tilt angle
:

*W* is related to
by the relationship:

By symmetry, for any constraint on the extent of *W* , q will
vary between plus and minus some particular value, i.e.
=
. For example, if the constraint
is a 5% elongation of the wire, then the maximum deflection is defined
by:

*W*2*max * / *W*2*min*
= 1.052 =

The solution of the expression for is greatly simplified by introducing
the approximation R = 0, which still leaves the situation fairly
realistic. Then:

*W*2*max / W*2*min*
= 1.052 =

This expression can now be solved for sin() and thus :

=
arcsin( ((1.05^{2} - 1) (1 + (B/L)^{2})) / (2 B/L ( 1.05^{2} + 1 )) )

The following graph of this formula shows the maximum deflection
to each side for a 5% elongating wire, as L/B is varied from 1 to
41.

Reasonable deflections seem be achievable with simple wires, if
the anchor points are placed very close to the pivot. At L/B = 41, it
appears that even a maximum deflection of 90° is possible. The curve
is slightly modified if the upper attachment point is offset by the
radius R of the branch. To first order, the effect of R, which we
eliminated in this approximation, is to displace the anchor points
outward by an amount R, for a similar deflection. Thus it appears a
good anchor uncoiled wire in the general case might be about R + L/20
from the pivot, giving about +/-30° of deflection. The results also
lead us to choose L as large as possible. Thus, the wires should be
attached at the top end of the branch, not midway, as in our initial
diagrams.

**Mass loading**

An original branch of our preferred (**B** = 3, **D** = 2)
bush has three smaller branches, each
the dimension of the parent. Each of those has three 1/3 the size of
the original branch, for a total of 9. At the third level there are
27 each (1/3)^{3/2} the length, and so on. If carried to
infinity, the extended reach of a tree above a branch of length L
would be:

L_{upper} = L ( 3^{-1/2} + 3^{-2/2} + 3^{-3/2} + ... + 3^{-i/2} + ... )
=
= 1.366 L

At the i'th level, each branch has cross-sectional area
proportional to 3^{-i}, but there are 3^{i} branches
with that cross section, so the net area, given by the product of
those two numbers, remains constant. Thus, with perfect scaling, the
mass of tree carried above any given branch is no more than 1.366
times the mass of the branch itself.

For purposes of developing the a working joint, we can therefore
simulate the loading of a complete bush by extending the branch an
additional 1.366 times its basic length, also ensuring that the
extension masses 1.366 times as much. This is a very modest
requirement for mechanical design of a joint, smaller even than the
safety margins of two or more that would normally be
incorporated.

Our prototype single joint would appear as follows:

The diameter of nitinol wire is chosen to be able to lift, when
contracting to its natural length, at least twice the weight of the
branch plus ballast. We planned to use thin aluminum sections for the
branches. Our largest branch was to be about 10 cm in length, and
weigh only a fraction of a kilogram. Wire with diameter of 0.25 mm,
which can lift about one kilogram, should be more than adequate. This
same wire requires a restoring force of about 0.2 kg to stretch when
cold.

Higher, smaller, levels of the bush will use correspondingly
thinner wire, the cross section reduced by a factor of 1/3 for each
level, the diameter by .

**Electrical and Thermal Considerations**

Nitinol alloys can be formulated within a wide range of transition
temperatures. Low temperature alloys require less power to actuate,
but take longer to cool down and recover, since heat flow to the
environment is proportional to the temperature difference. Commonly
used alloys have transitions at 70°C and 90°C, compared to typical
ambient temperatures of 20°C to 30°C. We may choose higher
temperature alloys in the interests of speed in future (replacing wire
with ribbon is also an option), but in the present experimental phase,
the lower temperature alloys are preferable.

A 0.25 mm 70°C wire takes about 7 seconds to cool in still air,
but can be heated in about a millisecond by a current of one amp. A
10 cm length has a resistance of about 2 ohms.

We would use the driving circuit from the "electrical actuation"
discussion above. To ensure adequate current averaging one ampere
over a millisecond into the 2 ohms, the voltage V must exceed 2 volts.
Five volts is convenient. To provide one ampere for a millisecond,
the capacitor C must store at least one millicoulomb. At two volts,
this would require about 500 microfarads. Thus we decided to use 5
volt, 500 microfarad capacitors (one for X direction, and one for Y)
to power the 10 cm base of the bush.

The charging resistor should "refill" the capacitor in the 7
second cooling time of a wire. The RC time constant should thus be
perhaps 3 seconds. Since C is 500 microfarads, suggesting R should be
about 2 Kohms.

The cross-section of the wires in the higher levels of the tree
drop by a factor of 1/3 each level, and their lengths drop a factor of
. Naively, the driving
capacitances should drop by the 1/3 and the driving voltages by to compensate. In fact, continuous
cooling incurred by the greater relative surface area of the thinner
wires must be compensated by relative increases in V, which thus
should fall more slowly than
per level. The cooling time constants also fall from one level to the
next, requiring adjustment of the charging time constants. The
smaller capacitors at each level affect the charging time in the right
direction, so perhaps the R values can be similar at each
level.

**Control Wire Stresses**

We analyse the loading on the control wires due to weight of the
bush structure by considering a branch extended horizontally. In the
following diagram, **L** is the distance from the branch base to
the attachment point of the control wires, **B** is the distance
from the branch pivot of the base of the wires, **C** is the
distance of the folded bush center of gravity from the pivot.
**W** is the weight of the full bush above the pivot. The tilt
angle of the segment below the horizontal is designated by .

Neglecting the lower wire, note that the upper wire must exert a
torque about the pivot cancelling the torque induced by the weight
**W** . The torque caused by the weight has magnitude . If the tension in the wire is
designated by **T** , the wire exerts torque

In modeling the folded upper layers of the bush, we had concluded
that the subtree above the length **L** segment was equivalent to
extending the segment by an amount 1.366 **L** . This makes the
length **C** = 1.183 **L** . We had also noted in the last
report that letting **B** = **L** /20 allows a +/- 30°
deflection with 5% wire elongation. Choose this value for **B** .
Then the torque equivalence becomes:

From which we find the ratio of **T** to **W** :

This produces the following plot of wire tension as a function of
, showing a maximum force
**T** of under 25 times **W** , even when the angle is brought
beyond the 30° limit, to 90° vertical:

The previous analysis orients the base horizontally, which causes
the gravity torque to fall off as the branch deviates from its central
orientation. A worse case occurs if the base is rotated to keep the
branch horizontal at all times:

In this case,

and the curve looks as follows, with T still staying below 30 W when
the deflection is within +/- 30°:

A factor still missing in the above analyses is the force needed
to stretch the opposing wire as the supporting "power" wire contracts.
A typical nitinol wire when cold can be stretched with about 1/6
(i.e. less than 17%) the force it exerts when hot. This is small
enough to be absorbable in a safety factor of two added to the above
analysis. Thus we planned to use nitinol wire whose contraction
strength is 60 times the weight of the bushlet it moves. The cold
strength of a stretched wire would, in that case, not be enough to
support the weight of its bush, if the forces in the above analysis
were reversed. In that case, a mechanical stop at 30° deviation
at the pivot of the branch could provide the necessary
support.

**General Excursion to Force Relation**

The previous discussion examined the stresses for a particular
branch excursion, +/- 30°, for which the necessary wire
contraction force was equal to 30 times the subbush weight (or 60
times, with a 2x safety factor).

To see how the wire stress depends on the desired excursion, we
note from the special analysis that the maximum stress occurs at the
point of maximum stretch of the wire (i.e. the maximum value of angle
). If we choose length units to
make the branch length **L**
= 1, a previous equation gives the maximum excursion as:

where **ER** is (**E** 2 1)/( **E** 2 + 1 ), and **E**
is the length ratio of expanded to contracted wires. Our nitinol
documentation suggests **E** = 1.05 allows long-term operation.

We can rewrite the relation from the discussion above to reveal
the general form for the wire force as a function of angle:

where **C** = = 1.183 is
the relative position of the folded subbush center of gravity.

Substituting for in the expression for **T/W**
gives the general expression of maximum wire force as a function of
anchor position **B** :

where **ER** is the ratio (**E** 2 1)/(**E** 2 + 1).
This results in the following relationship between maximum wire force
**T / W** and maximum angular excursion
.

**Test Joint Mechanics**

We've constructed a one-axis test bush segment joint out of
threaded metal spacers and a hinge. Its basic length is 9 cm. With
additional spacers to simulate the upper part of the bush, its length
grows to 22 cm. The combined weight of this assembly is 115 grams.
We mounted two control wires, each with a lateral offset of 0.5 cm
from the side of the branch, to provide about +/- 30° of
deflection with 5% wire elongation. This setup requires a contraction
strength of about 7,000 grams, to support the full weight laterally,
with a safety factor of two. A typical nitinol alloy (for instance
the one used in Flexinol "Muscle Wire") exerts this force in a wire
about 0.66 mm in diameter.

**Overview of Test Joint**

**Closeup of Test Joint **

**Test Joint Electrical and Thermal Design**

We chose low-temperature Nitinol alloys with a 70°C to
90°C transition temperatures, compared to typical ambient
temperatures of 20°C to 30°C. Low temperature and thickness
in wires both act to increase the cooling time. The table below give
cooling time in still air. The time can be reduced tenfold by fast
ventilation.

Here is a table of approximate heating currents and cooling
times:

Wire Resistance Heating Contraction Cooling
Diameter (ohm/meter) Current Force Time
.025 mm 1770 20 ma 7 g 1.1 sec
.050 mm 510 50 ma 35 g 1.3 sec
.100 mm 150 180 ma 150 g 1.8 sec
.150 mm 50 400 ma 330 g 3.0 sec
.250 mm 20 1 A 930 g 6.7 sec
.350 mm 9.0 2 A 2 kg 11 sec
.500 mm 5.1 4 A 4 kg 19 sec
.660 mm 2.54 7 A 7 kg 30 sec
.750 mm 2.2 8 A 9 kg 36 sec
1.00 mm 1.5 15 A 15 kg 55 sec

The long cooling time of our 0.66 mm test joint wire might
have encouraged us to add an air-cooling fan, to reduce the time to a
few seconds. It can be heated in a few milliseconds by a current of a
few amps. A 10 cm length has a resistance of only about 0.25
ohms.

We used the driving circuit pictured below. A 5 volt supply
sufficed to drive many amps into the 0.25 ohms. To provide seven
amperes for a millisecond, the capacitor C must store at least seven
millicoulombs. At an average of two volts during discharge, this
would require about 3,500 microfarads. We used a 5 volt, 3,500
microfarad capacitor to power our test branch.

The charging resistor should "refill" the capacitor in the 30
second cooling time of the wire. The RC time constant should thus be
perhaps 10 seconds. Since C is 3,500 microfarads, R is chosen to be 3
Kohms.

**Anchoring Nitinol Wires**

The Nitinol wire is hard and resists deformation. We found it
difficult to anchor: it tended to slip out of regular pressure clamps.
We were successful with one technique, inserting the wire through a
small hole drilled through the side of a threaded spacer. The
slightly bent nitinol wire can be securely pinched by a screw in the
spacer:

The wire also resists bends, so it was necessary to pivot the
anchors so the released the wire very close to its intended path.
Even so, the wire exhibits bowing, even under stress. In future we
may fasten pivoting eyelets to both ends of each wire. It will then
be much easier to make straight runs of wire of exactly the correct
length. These eyelets will be held in place by a pivot pin, forming a
hinge:

**Abandonment of Actuated Mechanical Prototype**

We spent several months investigating alternative approaches to
building a working model bush robot, including some test prototyping.
The result of this investigation was a decision to abandon further
effort towards a mechanical prototype for now. We concluded that such
an effort had almost no chance of succeeding with available resources,
not only in our project, but in the larger technological sphere. The
idea only becomes plausible once automated micromechanical
construction allows extremely complex three-dimensional mechanisms to
be automatically "printed" from digital descriptions.

It is presently possible to generate simulations of complex
mechanisms from digital descriptions. In the last decade it has also
become possible to automatically generate complex static physical 3D
objects from such descriptions, in a solid printing process called
stereolithography, among other techniques. We decided to direct our
prototyping efforts to those channels.

In our abortive investigation of mechanical implementations of
bush robots within the scope of our modest resources, we had
investigated structures actuated by hobby remote-control servos.
These were easy to use and interface, but too bulky and heavy to use
in three dimensional joints. Secondarily, they were also available
only in an approximately 4:1 size range. We then looked at joints
actuated by shape-memory wire, which promised very compact actuation
and and almost unlimited scalability. A two-dimensional test joint
was easy to build, and it would have been possible to use more
complicated variants of the 2D approach to build 3D joints. However,
experiments with a test joint convinced us that our simple approach
would result in unreliable and damage-prone mechanisms. For instance,
it was easy to overstretch and destroy the actuating wires by applying
modest external forces. Also, the electrical connections to the many
actuating wires of the upper twigs of a bush would begin to impede the
lower branches after only two or three levels of branching. These,
and many other problems, convinced us that to avoid further
time-consuming effort to construct a working prototype. We had very
little chance of succeeding. Related efforts illustrate the
difficulty.

Many years and millions of dollars have been expended in designing
two- and three-axis joints for conventional robot arms. To this day,
they are expensive, complex, heavy, problematic, and little used. An
example is the Rosheim design illustrated below, of which there are
several prototypes:

[Copyrighted image removed March 6, 2001 at the request of Mark Rosheim.

Note added March 17, 2003: Though multi-axis mechanical joints may be unsuitable for
conceptual fractal bush robots, they have proven themselves in practical
applications that require rapid complex motion, in robots and otherwise,
notably in antenna dish pointing systems for mobile
platforms like swaying ships. See
images from Ross-Hime web site
]

Building single joints
of this kind is at the limit of the robotics art, yet this joint does
not have the strength nor the easy scalability to be cascaded into a
bush robot structure. Even if many problems were solved, it seems new
techniques would be necessary to build such joints at sub-centimeter
scales.

The present efforts in micro-electro-mechanical systems present an
interesting future possibility for the small fingers of a bush robot.
At present these techniques are confined to the surfaces of chips, and
the structures they build no bigger than a few millimeters. But
perhaps, someday, MEMS techniques will evolve into something that can
construct working meter-scale integrated electromechanical systems
with micron-scale features. MEMS integrated-circuit-like techniques
are probably the best route to early construction of a working bush
robot prototype, but they are not yet ready to take on the
task.