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 41+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:

W2max / W2min = 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:

W2max / W2min = 1.052 =

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

= arcsin( ((1.052 - 1) (1 + (B/L)2)) / (2 B/L ( 1.052 + 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:

Lupper = 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 3i 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.