Tuesday, September 30, 2014

Atronach's Eye: Case Build

I took a break from muscles to give the old mechanical eyeball a much-needed upgrade. The changes made in this round of development mostly affected the case. For more information about how the internals of Atronach's eye work, click the “Project Atronach” tag in the right-hand sidebar to see all previous posts.

A view of the internals mounted to the new case, just before final assembly.
The original case was a quick prototype, thrown together with cardboard and ice pop sticks. It was kind of embarrassing, but it did provide a good platform to see how all the moving parts worked and what improvements might be needed. The new version is mostly particle board and linoleum, with some other wooden bits (there are still ice pop sticks in there, actually, you just can't see them now).

Cutting the case.
The particle board became the front and back faces of the case, which I cut out by hand using a rotary tool with a cylindrical engraving cutter bit. This was rather tedious, and the results were imperfect. I wish, in particular, that the gear teeth were more symmetrical (I also wish I had a CNC machine). At least it's not functioning as a gear. It's structural art. Ssssshhh. I carved the lettering into the front face using a spherical engraving cutter, and I'm very happy with how that turned out.

Speaking of that lettering, it's derived from the legends of golems, which Atronach's name obliquely references[1]. These might be some of the earliest stories about artificial life, and there are additional reasons why I find them meaningful that probably deserve their own blog post. The original golems of Jewish folklore often had something written on their foreheads, such as the word emet (truth) used here. Not to mention that Hebrew script is gorgeous.


For the outer wall of the case, I wanted something that I could form into a curve, so I bought a single linoleum tile. It came with adhesive on the back, which I dissolved with vegetable oil and washed off. The wall is made from three pieces of linoleum, joined together at the seams with 24-gauge beading wire. Initially, the wall wanted to “peak” at the seams and go flat in between them, instead of assuming a nice round shape. I added a piece of stiff plastic (cut from a large zip tie) at each seam to brace it into roundness. I'm quite happy with how this construction technique worked out, as well. However, one does have to be careful when handling this type of linoleum, because the stiff plastic on the back is rather brittle. Bend it gently and don't try to bend it back once the desired shape is reached, or this rear layer will crack. Always drill holes starting from the back side, and leave plenty of margin between your holes and edges or corners. To support the sidewall, I drove wire nails up through the back face of the case. There is an inner ring and an outer ring of nails, and the sidewall slips snugly between them.

A closeup of the finished sidewall.
All of the motors, the ball cradle, etc. are mounted to the back plate of the case with screws now, which gives the structure more rigidity and provides for easy disassembly for repairs or modifications (gasp!). I added some wire hoops inside to provide additional guidance for the "tendons" and prevent them from catching on other parts.  The tendons themselves are now nylon monofilament instead of thread, which I found could fray through rather easily.  I also replaced the battery pack with a wall wart of comparable voltage.

Here's a video of the eye during the final post-assembly test:


The next step will be getting the computer into the loop … either by adding the camera and some video processing algorithms, or by establishing computer control over the motor movements.

Until the next cycle,
Jenny

[1] “Atronach” is used in The Elder Scrolls games as a designator for either elemental creatures or certain types of golems. These are the wizard-built golems typical of fantasy contexts, but they owe their literary origins to these old folk stories.

Sunday, August 24, 2014

Nylon Fishing Line Artificial Muscles VI

I've finally done some characterization of these muscles. My primary goal was to investigate the relationship between the diameter of the secondary coils and various muscle properties/behaviors.

The Test Muscles

I made three rod-coiled test muscles, of different internal diameters determined by the size of the rods on which they were coiled. I attempted to keep other variables constant, including the following:

  • Materials: All muscles were made from Trilene Big Game “Solar Collector” fishing line (50 lb. test, 711 um in diameter), with a single heating element of 10/46 litz wire twisted in.
  • Secondary Coils: I tried to cut the filament to a length that would produce the same number of secondary coils in each muscle when finished (ensuring all muscles would have the same length when at rest). Due to a lack of preciseness in my manufacturing methods, I could not get them quite the same, but corrected for this by reporting relative contraction distance instead of absolute contraction distance in the weight lifting results.
  • Primary Coils: I measured the coiling time required, going at the speed of the drill I was using, before a length of filament would begin to spontaneously form secondary coils. I then used this time as a guide for coiling subsequent muscles, scaling it by the length of filament used. Ideally, this would ensure that each muscle had almost enough tension to begin self-coiling, but not quite. In practice, again, the results were less than precise; for instance, two of the muscles developed a few secondary coils at the top. (I treated these as part of the muscle's “tail”, so they did not affect measurements. However, they show that these muscles ended up with a higher primary coiling tension than the remaining one.)
  • Tension: I used the same 2 lb. weight as a load for each muscle during the coiling process. Unfortunately this does not entirely guarantee a consistent tension, because some of the nylon filaments were too long to suspend the weight for all or part of the coiling process – meaning it was acting as more of an anchor, and the force on the line would depend on the weight's friction with the floor as well.
  • Secondary Coil Spacing: When coiling each muscle around its rod, I packed all of the coils as tightly as possible, so that the muscle would be fully contracted when at rest.
  • Annealing: All muscles were annealed at a temperature of 300°F for 20 minutes.
  • Chirality: All muscles were homochiral.

Experimental Setup

The passive spring constant test involved suspending various weights from a muscle and measuring the amount of deformation (stretching) produced. The muscles were not powered for this test.

The weight lifting test was intended to measure each muscle's ability to lift weight under power. One muscle was tested at a time. It received its current through a power MOSFET switched by an ATTiny85 microcontroller. A multimeter was included in the circuit to measure current. I had programmed the ATTiny to read an analog voltage, which I could adjust by turning the dial on a potentiometer. The ATTiny sent a PWM signal to the gate of the transistor, varying the duty cycle based on the value of the analog voltage. I hand-adjusted the value of the potentiometer to get the same (effective) current value for each muscle. The distance through which the weight was lifted was measured at steady-state, after the load had risen as far as was possible for that current.

Results

Passive Spring Constant Tests

Each data set has been fitted with a cubic curve.  A spring constant can be obtained for each muscle by taking the slope of the linear portion of the curve.




Weight Lifting Tests

Each data set has been fitted with a parabolic curve.  The (0,0) data point is assumed.




Summary

Muscle
Coil Diameter
Spring Constant
Optimum Load*
Max. Possible Contraction**
1
4.763 mm
8.63 N/m
32.4 g
22.7%
2
3.175 mm
40.12 N/m
60.3 g
14.3%
3
1 mm
237.62 N/m
82.8 g
11.1%
*Averaged over all currents tested on this muscle
**At highest current tested on this muscle, computed from curve

Conclusions

I am going to emphasize again that I'm not working with the greatest equipment here. Distances moved by all of these muscles were on the order of millimeters, and difficult to measure. Muscles can be reshaped by the heat, making the repeatability of the measurements imperfect. Couple that with the possibility of varying ambient temperatures in the house between test sessions, and you have a recipe for a lot of error. Nonetheless, I hope the data is useful in a rough, qualitative way. I'll posit the following:

  • All else being equal, muscles with a smaller secondary coil diameter have a larger spring constant.
  • Every muscle has an optimum load, a “sweet spot” on the curve, which allows for maximum lift distance when the muscle is powered. Too little weight doesn't stretch the coils far enough apart to provide a working distance, and too much begins to exceed the muscle's strength. I'm sure the optimum loads found for these muscles are dependent on the fact that they all have close-packed secondary coils. It would be interesting to re-try the experiment using muscles that are not fully contracted at rest, and thus have less need to be stretched by the weight.
  • The size of the optimum load increases as the secondary coil diameter decreases. I don't know whether the optimum load is related to the amount of current as well, or is the same regardless of current; the data is too irregular to tell.
  • At a given current, muscles with a large secondary coil diameter, lifting their optimum load, will lift higher than muscles with a small secondary coil diameter, lifting their optimum load. However, note that large-diameter muscles may have access to a smaller range of currents due to the risk of “going flat” (see yesterday's post).

I now have better answers to a couple of questions that have been asked previously:

Q: Once you've made a muscle contract, can you continue to run current through it and hold it in position?
A: Yes! Just be careful not to overheat the muscle. Current values that are tolerated in brief bursts may be enough to make the muscle flatten or go limp if they are applied for too long.

Q: What is the advantage of rod-coiled muscles over self-coiled muscles, or vice versa? What is the best secondary coil diameter?

A: The best diameter depends on your application. As I suspected, muscles with smaller diameters (including the self-coiled ones, which have the smallest diameter possible) can manage heavier weights, but can't lift them as far as large-diameter muscles can lift their optimal lighter weights (though I do wonder how the more tightly coiled muscles would perform if they were annealed with their coils spread out). The new revelation here is that diameter plays in to current requirements as well – large muscles working at their optimum point need less current than small muscles working at theirs.

Until the next cycle,
Jenny

Saturday, August 23, 2014

Homemade Nylon Artificial Muscles V

It's high time to talk about artificial muscles again. I have the long-awaited data from the Weight Lifting Test, but to keep this blog post from getting monstrous, I think I'm going to save that for tomorrow. Today's post will be devoted to a couple of side issues.

It's Not Just about Fishing Line Any More

So far, I've only heard of these muscles being made out of two kinds of nylon monofilament: 1) fishing line and 2) conductive thread with a nylon core. Trimmer line – for weed-eaters – is made of nylon too. And it's thick nylon. Special lines for deep-sea fishing are the only other filaments I've seen that are this stout. So I decided to try it. Behold the super-muscle:

Nylon artificial muscle: the giant edition.
It's made of RINO-TUFF Universal Trimmer Line, manufactured by Jarden Applied Materials. The cross-section of this trimmer line is round (there are no ridges around the outside, as some trimmer lines have).  The diameter is 2.0 mm, which puts the appropriate coiling load at about 5.45 kg (12.0 lb.). After initial twisting, I wound it around a 6.35 mm (0.25 in.) rod and baked it in the toaster oven as usual, though I let it go almost half an hour to make sure it was fully set, since the line is so thick. The heating element is a single enameled copper wire, I would guess 22 gauge.

During my first quick test, the super-muscle lifted 0.454 kg (1 lb.) of dry beans about 1.5 mm. That may not sound like a very impressive distance given the size of the muscle, but it's more than I would expect my other muscles to do with that much weight. It's also possible that the heating element I used was a hindrance; single-stranded copper wire at that thickness has a noticeable springiness of its own that gives the muscle an additional resistance to motion. A more flexible multi-stranded heating element would be preferable, but I haven't tried to make better versions yet; I mainly wanted to see if the trimmer line would respond. Since it seems to be a viable muscle material, I hope to make more of these big guys, and will of course let you all know how that goes.

The Flattening Problem

When rod-coiled muscles are overheated, well before the line melts through they will usually “go flat.” The coils tilt into the plane along which tension is being applied, ruining the muscle's effectiveness as a spring. Something I have been noticing during recent tests is that certain muscles seem to be more prone to going flat than others. Take as an example the one on the right below, which was originally going to be the largest diameter muscle in the Weight Lifting Test … until it spontaneously went flat, while hanging vertically without any load on it, when my apartment got particularly hot one summer afternoon. The other muscles hanging up beside it were not similarly affected.

A healthy rod-coiled muscle (left) compared to a ruined flat one (right).
The muscle that went flat was the largest member of the set, so I thought that perhaps rod-coiled muscles with a larger diameter were more prone to flattening. However, when I started working with the remaining muscles in the Weight Lifting Test, it turned out that things weren't that simple. Of the three muscles, the 1/8” muscle seemed the most prone to flattening (which is why, in the data coming tomorrow, you'll see me using  no currents larger than 40 mA for this muscle … it could barely take that much). It was at least as sensitive to high temperatures as the larger 3/16” muscle, if not more so.

Muscles that “go flat” can be re-annealed to get them back to their correct shape. While this restores their effectiveness (at least temporarily), it does not seem to take away their inherent propensity for going flat. Therefore I wonder if there is some variable in the manufacturing method that makes some muscles more likely to flatten than others. I made efforts to keep the muscles that I used for the Weight Lifting Test identical in all but diameter, but my methods aren't exactly precise, so perhaps some differences crept in. Here are my best thoughts of some things to look at:

1) Amount of tension applied via primary twisting before the muscle is coiled on the rod. I tried to keep this the same between muscles by using the same load and twisting each one for an amount of time proportional to the length of the line. Nonetheless, it's quite likely that they have small differences. I sometimes had to stop early because the line started forming secondary coils before time was up, or appeared about to.
2) Ambient temperature in the environment during primary twisting. I didn't make all the muscles on the same day, so there could be some differences here depending on what the weather was doing.
3) Amount of tension applied during secondary coiling, i.e. initial tightness of coils around the annealing rod.

Until the next cycle,
Jenny

Friday, June 13, 2014

Transistor: A Dream of the End

*** Warning *** This article contains major spoilers that may blunt the impact of the game. If you have not played Transistor and have the slightest shred of interest in doing so, you are not allowed to read this. Go get the game, finish it, and come back later. *** Warning ***

I'm usually a “wait for the sales” type of person, but Transistor is one of the few games I've bought within a couple of weeks of its release. I sprang for it on the strength of its predecessor Bastion, which is excellent (though it hasn't furnished me with any deep lessons that would make fodder for a blog post). And hoo boy, I was not disappointed. Transistor is one of THOSE games. The ones that stay with you for a long time.

Hey, God?  Can the New Jerusalem look a little like Cloudbank?  Maybe?
Apropos of the fact that its protagonist is a singer, Transistor makes skillful use of music and voice to add impact to its story. I was drawn in by the game's premise and beautiful visuals, but I wasn't really sold on it until the first boss fight. As Red confronts one of her nemeses – Sybil, a prominent socialite, now infected by the computerized menace known as the Process – a song begins. It isn't the standard battle fare that advertises excitement or danger. Instead it's slow, quietly intense, and – if you listen to the words – disturbing. As the battle progresses, the quality of the song deteriorates, symbolizing Sybil's descent into inhumanity. In the third round I start to realize that I'm on edge … and it isn't just because Red's health bar is sliding dangerously low, or because Sybil's wall-piercing parasol attack is kind of terrifying. It's because I've been listening to an eerie Borg-like voice wailing “I won't save you” in the background, reminding me exactly what kind of Serious Business I've gotten into. By the time the fight is over, the song is burned into my memory. Sybil had to be dealt with, but her death is not trivial.

One can tell, by this point if not sooner, that Transistor is not a light-hearted game. Maybe I should have taken more warning by that song than I did. Another warning note comes when Red stops at her apartment long enough to eat a meal, then proceeds to lock herself out … somehow, she knows she's not coming back. In the story's last act, the surreal, quiet, wistful beauty of a Fairbank district overrun by the Process hints at a journey toward the end. Nonetheless, I wasn't quite expecting what actually happened.

Red seldom met another living character, but I was able to get acquainted with the city's cast of influential citizens by means of their traces: digital remnants of each individual's personality and skills, safely stored in the memory of the eponymous Transistor. They're a colorful bunch, sometimes flawed, but all important. As Red hauled this precious cargo around the city, I looked forward to finishing the game and restoring them somehow. Even the members of the Camerata – full of hubris, morally gray, and at times personally unpleasant – caught my sympathy. There were little things I could identify with, like Asher's refusal to be seen without his cat, or the childlike glee of discovery that came through in Royce's study notes on the Process. I wanted to save them all.

In the end, I didn't save any of them.

Transistor evokes digital technology with its aesthetics, but it's subtle about it.  This isn't a Tron lookalike; the city ends up looking sort of vintage and futuristic at the same time.  The effect is unique and delicious.
Red finishes her story with the full power of the Transistor in her hands. The engineer's dream: think what you want to create, and it appears. But though the Transistor can repair the buildings and machines of Cloudbank with ease, it can't bring back the people. And without citizens, all the rest becomes worthless. There's nothing left for Red in the city, no reason to rebuild. Cloudbank is done for, destroyed by the machinations of a few people who thought they would forcibly change it for the better. And where does that leave us?

Some things can't be fixed. Renewed, yes (as one sees after waiting out the game's final song), but they can never go back to the way they were before tragedy struck. You won't … can't … save everyone. That's the theme this story leaves me with. It's an interesting contrast to Bastion's ending, which allows the player to literally rewind time and clean up the mess. It's also an unconventional message for me to like. I deal with enough of this particular type of powerlessness in real life, so why would I want it in my video games? Yet I appreciate it here, because … maybe it's a lesson I need to learn. I don't get the impression that Red failed, but rather, that she did everything she possibly could to save the city, and was ready to move on. Hers is a different kind of hero's journey in which the attempt is the important element, not so much the results. And this is something helpful for me to remember whenever I'm tempted to beat myself up because I haven't yet solved all the world's problems or created multiple works of genius. Transistor broke my heart for an afternoon, but oddly enough, it's left me with a greater feeling of peace about life in general.

I'm also full of inspiration and ready to get back into robotics work. Expect some updates about the artificial muscles, and maybe some other things, in the near future.

Saturday, May 3, 2014

Homemade Artificial Muscles IV

Okay, I've been busy, but it's finally time for another artificial muscle update! I've achieved some of my best results yet, and I think I'm about ready to try using these in an actual application.

Oven Calibration and Annealing

I wanted the ability to test different annealing temperatures. However, the helpful KD5ZXG, who has been leaving a lot of comments on the first post in this series, warned me that temperatures in my toaster oven might not match what's shown on the dial. To get an idea of the actual temperature, I calibrated my oven with sugar and found out that it runs about 50°F hotter than the dial indicates when I'm trying to set the oven in the 300°F neighborhood.

Once I had a better idea of what the oven was actually doing, I baked a bunch of small nylon loops at different temperatures and for different lengths of time. These weren't muscles, just short pieces of nylon wound into circles, with their ends pinned in place by an alligator clip. Each time I turned up the heat, I allowed the oven and the metal pan to pre-heat for at least ten minutes before introducing any nylon samples. This is more time than it actually seems to need to get up to temperature, but I wanted to be safe – the oven can swing to even higher temperatures during its pre-heat cycle, so it's best to let it gain stability before annealing muscles. All the temperatures given in the conclusions below take the 50°F offset of the dial into account.

My green 711 um line (Trilene Big Game) is fine with being annealed for up to 30 minutes at 300°F, but starts melting at 350°F. The other two brands I'm working with (Cousin Clear Monofilament 381 um and Zebco Omniflex 533 um) do just fine at 350°F and below. I previously saw some of the Cousin stuff melt at 350°F, but I wonder if that was because I didn't pre-heat the oven properly before putting it in.

At 200°F, 10 minutes in the oven won't do much to set the loops of nylon … they want to unwind again after being unclipped. However, 20 minutes or more at this temperature will do the trick. At 250°F, 10 minutes still isn't enough, though the loops set better than at 200°F. At 300°F, 10 minutes is sufficient to set a simple loop, though for tightly coiled muscles you might want to go longer. This is the recommended annealing temperature, and since I've confirmed that it doesn't melt any of the lines (assuming I set my oven dial so I actually get 300°F!) it's the temperature I'll be using in the future. I've been annealing my most recent muscles for 20 minutes at 300°F.

Heating Elements

In my last post, I mentioned that tinsel wire seemed like the best heating element out of the ones I tried. My supply was very limited, though, since I pulled it out of an old pair of headphones – and try as I might, I could not find any place to buy it! The only tinsel wire that I found for sale in small quantities was intended for repairing speakers, and its diameter was far too large. So instead, I bought some 10/46 litz wire from this Ebay seller. Litz wire is made from many small copper strands coated with a film of insulation, much like tinsel wire, but it lacks the fiber core. It's so flexible that I suspect you could use it like conductive thread as well. I also bought some 30 AWG nichrome wire from this seller.

Conclusion: the litz wire is my favorite. I might buy a slightly thicker version next time, since it seems a little delicate; it's not nearly as bad as the single-strand magnet wire, but I've had it snap on me a couple of times. As part of a muscle, it heats fast, cools fast, and generally provides great performance.

As for the nichrome, it's reasonably good, but due to its high resistivity, it doesn't heat up nearly as fast as the litz wire. If your muscle is very short, your system has enough voltage to drive a reasonable current through the nichrome, or you just don't need your muscle to respond very fast, it's probably fine – but I would say that it's not as versatile as the litz wire. (You can always reduce voltage if you want less current through your muscle. Stepping it up is harder.) It's also not insulated, so if adjacent coils short together when the muscle is fully contracted, interesting things might happen. The best thing about it is its strength. I never had problems with the nichrome wanting to break during coiling.

But nichrome is MADE for heating! Why are you saying it doesn't work as well as copper?!

Nichrome is used in places like your toaster mainly because it can get very hot without melting or oxidizing. But I don't need or want the heating elements in my artificial muscles to be red-hot. I would like to be able to use them in low-voltage systems, say 5-6V. The amount of resistive heat you can get out of a wire is proportional to the amount of power you pump into it. And since P = V2/R, increasing resistance when voltage is fixed will decrease your power. All else being equal (same power supply, same length and diameter of wire, same environment), a copper wire will produce more heat, faster, than a nichrome wire. Copper also has better thermal conductivity than nichrome, meaning it will cool more quickly after the power is turned off.

Demonstration

Here's a video of my latest muscle. This one has two litz wires wrapped around the nylon in opposite directions to provide better coverage, for faster and more even heating. It is lifting a bag of pennies weighing 35g (slightly more than one ounce). You might notice that the coils near the top are going flat. I got greedy and overheated it.  I'm powering it with a 3V wall wart, and it is drawing 1.17 A.


Until the next cycle,
Jenny

Saturday, March 29, 2014

DIY Fishing Line Artificial Muscles III

Most of what I've done since the last blog post has involved testing different heating elements. In the process, I've built some muscles that I thought were good enough to film. They're slower than I would like (not just in the cooling phase, but also in the heating phase), but getting a proper driver circuit built might fix that. Blowing air on them helps them cool off faster, but I purposely avoided doing that so that you can see how long it takes them to relax in still air.

First of all, I'm about ready to give up on the copper magnet wire. It's simply too easy to snap – even if I could make it work, I don't want a delicate, frustrating manufacturing experience, especially since I might end up making a lot of these.

The first alternative I tried out was Beadalon 7-strand beading wire, which is made of stainless steel with a thin nylon sheath for insulation. It's highly flexible, and has a much higher resistance than the copper wire: about .30 Ω/cm, yielding a total of 14 Ω at the length I used. The same length of my copper magnet wire has a resistance of only 3.5 Ω (0.075 Ω/cm).  (Don't set too much store by those numbers. My multimeter doesn't seem to be very good at reliably measuring resistances this small.) The total diameter of the wire and insulation is 0.46 mm. I made a homochiral (contracting) rod-coiled muscle using this wire and some of the 50 lb. test (711 um) nylon line, and got what I would call my first really good muscle. I was able to cycle it many times without damaging it and making the coils go flat (a problem I had previously with the muscles that used the copper magnet wire). It contracted enough to lift a suspended ferrite core about 1 cm. The main disadvantage of this wire, as compared with the copper, is that it heats up much more slowly, and I think it cools more slowly as well. This could be due to its higher resistance, which would have reduced the current flowing through the wire (I've been using about the same voltage for all my tests). Or it could be mainly due to the insulation limiting the rate of heat transfer from wire to muscle.


I also tried some tinsel wire – multiple strands of enameled copper wrapped around a fiber core – which I scavenged from the cord of an old pair of headphones. This is my favorite heating element so far. It doesn't break easily, it heats quickly, and it's less bulky than the Beadalon wire, because it's insulated with enamel rather than a nylon sheath. When it's put under tension and wound up into a muscle, the strands shift and flatten so that the wire takes up very little vertical space between the coils, and it spreads out a little to touch a greater surface area of the nylon. I made a heterochiral (expanding) rod-coiled muscle with this stuff.


In the comments of a previous blog post, bluesmokelounge suggested using a heating wire without any enamel, presumably to get quicker heat transfer. I'm a little wary of doing that. Loops of wire on adjacent muscle coils can contact each other when the muscle is fully contracted, and would short together without insulation, throwing off any calculations based on the length of the wire and possibly causing uneven heating. If the muscle were cycling continuously, this condition would be momentary, but it could be more of an issue if one wanted to hold the muscle in a contracted state for a while.

Last of all, I tried electrically heating some self-coiled muscles. Even though I like the tinsel wire best, I don't have much of it right now, so I used the stainless steel beading wire instead. My first attempt to heat a self-coiled muscle with this was a flop. I don't know if that was because the wire was too long (hence high-resistance) and I couldn't get it hot enough with the battery pack I was using, or if the large diameter of the beading wire was preventing the muscle from contracting by taking up too much space between the coils. I suspect the latter, because the very top of the muscle (which wasn't coiled as well) did try to move. So instead of coiling the wire up with the nylon monofilament, I tried wrapping a shorter length of wire around an already-formed self-coiled muscle. This wire got hotter and didn't interfere with the movement of the coils, and I was able to see some results. Using a self-coiled muscle made from my 25 lb. test (533 um) line in this configuration, I was able to lift a weight of about 55 g a millimeter or two … but it's more dramatic to watch this same muscle flex a piece of paper:


Until the next cycle,

Jenny

Saturday, March 22, 2014

Foundations Part I: The Doctor of Brains

If I tried to list the video games that have strongly impacted my life, the first ones that came to mind would have powerful narratives, but there are a few cases in which the gameplay itself had an influence by helping to develop my mind. I'm referring to my childhood collection of “edugames.” I had many of these, but I'm going to focus on just three standouts. Why these three? Because I loved them so much that I STILL PLAY THEM NOW, even though the puzzles are more of a tease than a real exercise for my brain nowadays. In this article, I'll be featuring The Castle of Dr. Brain and its sequel, The Island of Dr. Brain1.

This is no ordinary island.
Both edugames were produced by Sierra during the “golden age” of adventure games, so they share many stylistic similarities with classics such as King's Quest V. Castle was even directed by Corey Cole, famous among fans of adventure games for his work on the Quest for Glory series and other well-known Sierra titles. However, the Dr. Brain games are played in the first-person, are more linear than a typical adventure game, and have simple plots that serve mainly as a background for the puzzles. In Castle, you're trying to apply for a job as the titular Dr. Brain's lab assistant, and it turns out that his idea of an interview is making you prove your worth by opening numerous puzzle barriers to reach the castle basement. In Island, you've been hired, and you're tasked with retrieving a special battery from Dr. Brain's island fortress … but for security reasons, you again have to deal with a bunch of puzzles in your way. The environments through which the player travels are mysterious and whimsical, and full of objects that deliver silly animations or descriptions when clicked.  Much of the castle interior and some of the island labs get a bit dark and oppressive, though. I guess Dr. Brain has to keep up that creepy mad scientist mystique, even though he's officially opposed to violence.  The graphics consist of hand-painted scenes rendered into pixelated backdrops suitable for the computer screens of the time. Since a number of people love this “retro” look and are still creating games in that style, I can say that they've aged well … and if you don't mind the mosaic-like appearance of the art, it's still very attractive.

The robot room of Dr. Brain's castle.  Which head is being honest with you??
The games are more broad than deep, providing a very basic introduction to many different fields and whetting the player's appetite for more. Both titles feature puzzles that cover pattern recognition, sequences, spatial reasoning, mathematics, simple programming, digital logic, and cryptography. Castle also includes a memory game and a bit of astronomy.  Island adds navigation, foreign languages, chemistry, genetics, music, mechanics, and art history. (Salvador Dali was probably my favorite of the featured artists; obviously, youthful me already had a taste for the weird.)  Island also comes with a neat companion book called the EncycloAlmanacTionaryOgraphy, which provides background information helpful for solving and fully understanding many of the puzzles.

Although the Dr. Brain games only scrape the surface of each topic, I'm surprised by how useful, or at least interesting, the provided bits of information are. They constituted my first (I think – it was a long time ago) introduction to binary numbers, logic gates, ciphers, Fibonacci numbers, dominant and recessive genes, and that lovely sequential puzzle called the Tower of Hanoi. Some of the concepts gained here are things that I still use, though they've been supplemented by layers of additional depth. The games also made the knowledge that they presented fun and engaging. They fascinated and inspired me enough that I did some outside activities inspired by their puzzles – for instance, I made my own polyominoes out of paper, as suggested in the EATO.

The hardest level of the Tower of Hanoi puzzle.
I think the adventure puzzle format followed by the Dr. Brain games had a lot to do with their appeal, at least for me personally. The linear narrative gave me a sense of accomplishment; it was possible to reach the end of the game and achieve some worthy goal in the process. The exploration element provided a little thrill of discovery as I opened up each new area. And perhaps most importantly, the puzzles were varied, interesting, and thought-provoking. In Island you can accumulate a higher score by completing the puzzles over and over, but the game will never force you to do this. I don't remember games like Math Munchers with nearly as much fondness, because they were basically the same dull rote exercises I was made to do for homework, with a layer of arcade action and cartoonish animation plastered on top. I went from being bored when the Troggles (enemies) were turned off, to frustrated when they were turned on. The Dr. Brain games avoided both of these problems by including puzzles that were inherently engaging and letting me solve them at my own pace.

Both games are abandonware now, and they are easy to get running in DOSBox. So why not give them a try with your own kids? (Just be sure to mention that Pluto is not considered a planet any more.)  You can download them from Abandonia: Castle of Dr. BrainIsland of Dr. Brain. Be sure to download the game manuals also, because you will need them to solve certain puzzles. (And who doesn't want xir own EncycloAlmanacTionaryOgraphy?)

I've got one more edugame that I want to talk about, but I'm going to save that one for another post.

Happy cogitations,
Jenny


1. There are two more games in the series, The Lost Mind of Dr. Brain and The Time Warp of Dr. Brain, but I never got to play more than the demo of Lost Mind. It feels very different from the previous two games, and didn't strike me as having the same appeal. Maybe I'll have to give it and Time Warp a proper try someday.

Wednesday, March 19, 2014

Nylon Fishing Line Artificial Muscles II

It's time for some updates on the artificial muscles made from nylon fishing line. In case you missed the last blog post, I'm trying to replicate the research results described in this news article: http://io9.com/scientists-just-created-some-of-the-most-powerful-muscl-1526957560 I've successfully demonstrated Phase II of the project: activating a muscle with heat produced by electricity running through a wire. First, though, there's some unfinished business from Phase I to talk about.

Some More Thoughts on Coiling


There are a couple of basic ways to coil the nylon filaments. The first is to twist the filament as tightly as possible without causing it to form secondary coils, then wind it around a rod. I'm going to refer to the results of this technique as “rod-coiled” muscles in the future. The second is to keep twisting the filament until secondary coils form all along its length, without any need for a rod in the center; I'll call these “self-coiled” muscles. I was having trouble making self-coiled muscles as of my last post. Rather than forming secondary coils, the filament wanted to bunch sideways, forming whiskers that extended horizontally away from the line.

Self-coiled filament close-up. Left to right: 711 um filament with wire, 533 um filament, 381 um filament.
I blamed my cheap nylon line at first, but since getting some better types, I've discovered that they all have a tendency to form whiskers. A commenter on the previous blog post tipped me off that the researchers loaded their lines with 17 MPa of tension during coiling. I decided to try adjusting the weights on my lines to provide that level of tension, and got much better results. The filaments do not form whiskers when kept sufficiently tense during the coiling process. The following are the three types of nylon monofilament I am working with now:

Cousin Clear Monofilament, test strength 8 lb., estimated diameter 0.015 in. (381 um). I had to guess the diameter, since it's not advertised on the package.
Zebco Omniflex, test strength 25 lb., diameter .021 in. (533 um).
Trilene Big Game, test strength 50 lb., diameter .028 in. (711 um). This stuff claims to have “Extreme Fighting PowerTM,” and it's bright green, lest you forget how Extreme it is.

Filament Weighting Calculations
Test (lb)
Diameter (um)
Cross-Sectional Area (mm2)
Force (N)
Mass (g)
Weight
8
381
.114
1.94
198
6.99 oz
25
533
.223
3.79
387
13.6 oz
50
711
.397
6.75
689
1.52 lb

You might think that it's safe to exceed the weight needed for 17 MPa of tension, so long as you don't go over the line's test rating. But don't do that. The coiling process puts additional stress on the line, and I've found that it can snap, even when loaded with much less than its test weight. The thinner the line, the more tightly you need to adhere to the calculated ideal weight. When using the 711 um line, I had good success with weights from 1.5 up to 2 lb., and did not try anything heavier. For the 533 um line, 8 oz. is too little (resulting in whisker formation), but 1 lb. is too much (causing the line to snap). A weight of about 12 oz. works well, however. It was difficult to find the right weight for the 381 um line – I don't know if this is because of the smaller margin of error for this very thin filament, or because this particular line is intended only for stringing beads and is not of very high quality. It might also be thinner than I thought it to be. The weight I used when I finally coiled a good muscle with this filament was probably close to 6 oz. (I don't have a scale yet. Sorry. I am also stubbornly using imperial units because most of my items with known weights are labeled with those.)

The self-coiled muscles again, with a penny and a cat for scale.
The ability to make the self-coiled muscles opens up new possibilities. They have a larger spring constant than the rod-coiled muscles, and can therefore support and lift heavier loads. However, I suspect that there is a trade-off between the maximum contraction force and the maximum contraction length. The loops of the self-coiled muscles are already very close together, so there just isn't anywhere they can go. The loops of the rod-coiled muscles spread farther apart under load, and contract dramatically when heat is applied. For this reason, I recommend making a rod-coiled muscle for your very first tests … it's just easier to see whether it's doing something when you heat it. Also, you can only get heterochiral muscles that expand when heated by using the rod-coiling method, as far as I know.

Electrical Heating of Muscles


Perhaps the most convenient way to supply the temperature change needed to activate the muscles is by electrically heating them. I made several muscles that were supplied with a resistive heating element, in the form of a piece of magnet wire twisted into the muscle. “Magnet wire” is very thin copper wire with a coating of insulating enamel. I salvaged mine from the coil of an old electromagnet, so I don't know its exact thickness. For my most successful experiment, I made a homochiral rod-coiled muscle from the 711 um line, with a single magnet wire wrapped around the line. (I tied the nylon line and the wire together at the ends, so that wire and line were twisted together during the coiling process. Then I wrapped the two around the rod and annealed the muscle in my toaster oven.) I loaded the muscle with a pair of ferrite cores, weighing (I estimate) about 30 g. I was able to see it contract and lift the cores a millimeter or two when I connected the wire to a 6 V battery pack, and relax again when the electrical current was removed.  Not much, but it proves the concept.

Ideally, the muscles would be run by a controller which would first provide a burst of high current for quick heating, then back it off to avoid exceeding the maximum temperature of the muscle. A small amount of current could then be maintained to hold the muscle in its contracted position, if desired. My “quick and dirty” version was to simply hook the battery pack to the wire and disconnect it as soon as I saw the muscle start to move. Given the length of wire I was using (about 60 cm) and a voltage drop of ~6 V, the amount of heat produced is enough to permanently deform the muscles and eventually melt them in half, if the current is left connected too long. So one must be very careful and have quick reaction time if working with this much voltage. My muscle would heat up enough to show a response within a few seconds, and relax within maybe 15 s or so.

Besides the ease of overheating, the other major annoyance was working with the magnet wire itself. It breaks very easily when it experiences strain as a result of being coiled up with the muscle. I don't think I made a single 711 um muscle without having the wire break – for my successful tests, I either manually wrapped some wire around the muscle after it was coiled, or pulled one of the broken ends out of the middle of the muscle and stripped it so I could get a connection point.

To Do List (Stay Tuned)


Come up with a way to make muscles reliably without constant wire breakage. I plan to investigate some other possible resistive heating elements, besides the single strand of magnet wire.

Calculate the heat dissipated by the wire, and find maximum “safe” voltages for muscles as a function of their parameters.

Use a microcontroller and driver circuit to control a muscle.

Experiment with a variety of muscles and get more details on lifting power, maximum compression or extension, time to contract/relax, etc.

Until the next cycle,
Jenny

Saturday, March 8, 2014

Homemade Artificial Muscles from Fishing Line: Early Results

About two and a half weeks ago, some exciting news hit the interwebs: researchers from the University of Texas at Dallas had made artificial muscles from nylon monofilament line. All it takes to turn a simple strand of plastic into a device that can push and pull is a particular method of twisting; once formed into shape, the line will contract when heated and expand back to its old shape when cooled. There are numerous articles on the discovery, but my personal favorite is this very complete offering from io9: Scientists Just Created Some of the Most Powerful Muscles in Existence. This video from SciencePlanetMedia is also informative: Artificial Muscle Science. Artificial muscle materials have been around for a while, but these are exceptional in that they sound as though they could be easily made by a hobbyist, using cheap materials. I can't resist. This month's project will be to see if I can duplicate the work of this research team and make some artificial muscles of my own.

I'm ready to claim a tentative success on Phase I of the project: creating a fishing line muscle and getting it to respond to heat. Today I made and tested both a homochiral muscle (contracts when heated) and a heterochiral muscle (expands when heated). Lessons learned in the process are written below for your edification.

D'Artagnan inspects the finished homochiral muscle.
The first step in creating one of these muscles is to properly twist the filament. As the filament is spun, only simple twists will be visible at first; but eventually, secondary loops will begin to form. (You can see an up-close demonstration in one of the videos from the io9 article.) You have to twist the filament until it is all done up in these secondary loops, for this structure provides the magic that makes the muscle move linearly, instead of torsionally. Sounds simple enough, right?

Turns out, making these loops is not always as easy as it looks in the video. I found that as soon as the secondary loops began to form, the filament started wanting to kink sideways and twist around itself, forming “whiskers” stretching horizontally away from the filament. Once these whiskers got going, further twisting tended to add to their length rather than putting more loops in the main filament. The end result was a mess like this:


The problem could be my materials. I'm not using fishing line of any of the widths specified in the researchers' work. I'm using some cheap nylon beading cord of unspecified diameter, made by Cousin. It's pretty thin, and has a test strength of only 8 lb. (3.6 kg). I'll have to try the process again with some thicker, better-quality cords. But until I get them, I've found a workaround. It's based on the same technique you would have to use anyway, if you wanted a muscle type that expands when heated.

Start by doubling the filament to make it stronger, putting one paperclip inside the doubled end and tying the two loose ends together around another paperclip. Use non-insulated paperclips, because they'll be going in the oven later. Twist the cord freely until the secondary loops are just about to start forming. You can connect one paperclip to a drill to speed up this part of the process. In addition to fixing the other end so it can't spin, put a weight on it to provide a little tension. Once the first stage of twisting is done, create the second stage by hand-winding the cord around a metal rod (this could be nothing but a paperclip wire, if you want a narrow coil). It is at this point that you must decide whether you want a homochiral or heterochiral muscle. For a homochiral muscle, make the secondary twists in the same direction as the primary twists. If you don't know which direction this is, let a little of the tension on the cord loose, and see which direction the resulting loop goes. For a heterochiral muscle, make the secondary twists in the direction opposite to the primary ones. Keep some tension on the cord as you wrap it around the rod, so that it can't pop sideways to make whiskers or do other stupid things. Slide the coils up against each other as you make them, so they take up a minimum amount of space on the rod.  When finished, use alligator clips to secure the paperclips to the rod, so that your muscle can't unwind itself.

Heat treatment (annealing) comes next. This process causes the nylon filament to permanently assume the new shape you've given it, so that it won't try to untwist again. I annealed my muscles in the toaster oven. Be careful – if you leave them in there too long, they will melt! It only takes a couple of minutes at 200-300 F to set your muscles (maybe longer if your oven is starting from stone cold, or if you're using a thick rod which takes longer to come to temperature). Once they're done, pull the rod out of the oven with a pair of pliers and dunk it in cold water. Your muscle should slip off the rod easily, and should hold its shape, like a little coiled spring.

My toaster oven gets to be an engine of Mad Science about as often as it gets to actually make toast.
I recommend testing the muscles with a hair dryer or heat gun, if you have one. My only portable heat source is a soldering iron, so I tested with that. It wasn't ideal, particularly because it could be hard to heat the whole muscle at once, but I was able to see a response. My expanding (heterochiral) muscle, which I made on a 2 mm diameter rod, worked especially well. If I held it horizontally and brought the soldering iron up underneath it, so that hot air rising from the iron flowed over the muscle, it would expand and droop. After I took the iron away, it would tighten up again. The contracting muscle, formed around a large unfolded paperclip for tighter coils, also responded, but not as obviously.

The main thing that really concerns me at the moment, as regards the practicality of these muscles, is that the temperature needed to activate them seems fairly close to the temperature that causes permanent deformation. I accidentally re-set the coils of both muscles by sometimes holding the soldering iron too close. Be especially cautious if you're testing a contracting muscle with a weight on the end – if it starts expanding instead, you've probably heated it up so much that the plastic has gone soft and is deforming under the weight!

Well, that's all for now. Next I'll move on to Phase II – figuring out how to add wires to the muscles and heat them with electric current. I also plan to obtain and test some other forms of nylon monofilament.

Until the next cycle,
Jenny

Sunday, March 2, 2014

Novel Worldbuilding Teaser: Lilkirgynyyn

I'm just wrapping up a comparatively long stint of working on a novel. I don't want to post any teaser text from the actual story yet (mainly because I don't really know when it will be done, and would rather not have anyone clamoring for more at this point). Instead, I thought I'd put up a few worldbuilding notes that I worked out before I started writing. These are a work in progress; I find that I learn more about the setting as I work on the story, so I go back and edit my notes now and then.  There are four intelligent creature races in the world I'm working with (possibly five, but nobody knows much about the last one). I'll introduce one of them here, and save the rest for other times when I don't have robot stuff to talk about.  This particular race grew out of my mulling over how a society of wolf-like creatures with human-level intellectual tendencies might operate.  All concept art and notes here are copyrighted by me; please respect that.
The Lilkirgynyyn (singular: Lilkirgyn) are a race of winged quadrupeds, vaguely canid in appearance. Although historical records suggest that they were once widespread, today they dwell in rugged regions that other races find unfavorable: the far north, the peaks of high mountain ranges, deserts, and impenetrable swamps. Proud, serious, and scholarly, they view themselves as the keepers of the world’s knowledge, and mock the other races’ ambitions for territory and sensual pleasures. This attitude means that they are often the losers in any serious confrontation – they simply don't have the ambition to build up a powerful military. Having grown to expect that the Krippin and Rynsor will overwhelm them, they have become withdrawn and elusive, and most of them have few dealings with outsiders. It is believed that they were the first of the races to discover and understand mathematics, and the first to invent a written language. Their patron is Kyrysyn, the Spirit of Truth and Logic.
A full-grown Lilkirgyn attains roughly the same size as a greyhound. They possess some avian features, including hollow bones and a curious respiratory system which allows air to pass through the lungs. Rather than being trapped in air sacs and returned through the lungs to the mouth or nasal cavity (as in birds), the air passes along the whole length of the body and is exhaled from vents on the creature’s thighs. Females of the species are lighter in appearance than the males, grow a short, fluffy mane along the spinal column, and have long upper canines that protrude outside the mouth when it is closed. Barring rare mutations, Lilkirgynyyn are always bicolored, with one color on the main body and a secondary color on the “points.” White with black points (the “mountain phase”) is by far the dominant coloration. Red with pale yellow points, rust or tan with white points (desert phase), and brown or charcoal gray with black points (forest phase) are other common color combinations. A few more exist, but are quite rare – perhaps throwbacks or remnants from Lilkirgyn populations that were nearly driven extinct by past wars. Lilkirgynyyn are long-lived creatures, with an average life expectancy of 120 Senticronian years. Heavily furred, they do not wear clothing, aside from ornamental accessories and protective armor.
The Lilkirgynyyn are obligate carnivores. They do not appreciate this, and associate it with a curse bestowed on them for some great wrong performed by their race in the distant past. Due to the shame associated with the curse, they have a taboo against eating in public. All food is obtained by hunting; the Lilkirgynyyn consider the killing of a tame or helpless animal dishonorable, and thus do not keep livestock. However, they alarm and disgust the other races by eating the bodies of their own dead, and keeping the bones and hides for use as tools. (They do not murder each other for food, as is sometimes falsely claimed in rumors, but the body of anyone who dies of natural causes or in battle is fair game.) The Lilkirgynyyn, for their part, have trouble understanding why the other races “waste” the empty shells of their comrades by burying or burning them.
Like many canids, the Lilkirgynyyn form packs, and these constitute their basic social unit. Packs typically have three to ten members, all of whom are fiercely loyal to each other. Sometimes the descendents of a Lilkirgyn pair remain with their parents into adulthood, forming a multi-generational pack. Others leave their parents’ pack at maturity, and collect with unrelated individuals whose goals and ideals they share. The Lilkirgynyyn recognize a distinction between these two types of groups, calling the former “body packs” and the latter “mind packs.” Both types are more or less equally respected in Lilkirgynyyn culture, and each has a loosely assigned role to play in society. The body packs are seen as a conservative force, whose goal is to preserve tradition and pass down old knowledge, while the mind packs are the champions of novel ideas, and the bringers of renewal and progress. Lilkirgynyyn have one given name, and use the name of their pack as a surname, connecting them with the pronoun tyryn. Most of the significant social bonds a Lilkirgyn forms will be made with pack members; they are known for being cool and formal with anyone not belonging to their exclusive group.
Once firmly entrenched in a pack, a young Lilkirgyn will usually remain with that pack for life, unless he marries a member of a different pack. When this happens, either one of the pair will join the other’s pack, or the two will split off on their own, hoping to become the founding members of a new body pack. The departure of an established member is always trying for a pack, and many of the murders in Lilkirgyn society are motivated by the pack’s jealousy against a lover who is preparing to “steal” one of their companions. It might even be accurate to say that, for the Lilkirgynyyn, pack bonds are generally stronger than pair bonds. Fortunately, young Lilkirgynyyn develop romantic attachments early, and lovers usually end up joining the same pack to begin with. Hence stressful pack splits are relatively uncommon. Although the Lilkirgynyyn take marriage very seriously once it has been entered into, they are less likely to marry in the first place than are most of the other races. About a third of the population remain single (and, usually, celibate) for their entire lives. This behavior partially accounts for the race’s slow rate of population growth. Single Lilkirgynyyn participate in the raising of other pack members' children.
There are very few Lilkirgyn loners. Most of the ones that exist were never truly part of a pack to start with. Other Lilkirgynyyn think of them as aberrant or eccentric, and the more prejudiced among them actively shun loners. For a normal Lilkirgyn that has become established in a pack, isolation or ostracism is devastating. Packs only expel members for the most terrible crimes, and in such cases, killing the offender is usually judged more merciful than sending him away. Individuals who are lost or otherwise separated from their packs may waste away and die, even if they are taken in by another pack. The sole survivor of a slaughtered pack seldom retains the celebrated rationality of his species. He may collapse and let himself be killed or captured, or he may fly into a terrible berserker rage and fight to the death. These social traits have made it impractical for Lilkirgynyyn to be taken as slaves, as the other races have discovered with disappointment over the years. Separated pack members promptly fall ill or go insane, becoming useless for any sort of work, and a pack left united is nearly impossible to break to obedience.
Packs cluster together to form clans, the next level of social organization. The clans form the basis of Lilkirgynyyn government, but the level of formality varies greatly from one clan to the next. Some of the larger clans possess laws or codes of conduct, courts of justice, taxes, elections, administrators, and the like. Smaller clans often function more like extended families or local communities, in which disputes are resolved and needs provided for through informal discussion and action. The most common system for choosing clan leaders is to subject candidates to a contest of skill, and anoint the winner leader. Unlike the individual’s membership in a pack, a pack’s membership in a clan may be quite fluid. Some packs have changed clans several times in a generation, as the interests and loyalties of their members evolved.
The highest level of Lilkirgyn social organization is the nation, but the word has a very different meaning for them than it has for, say, the Krippin. A nation of Lilkirgynyyn is a loose grouping of clans, usually based on geography. It has no centralized government, seldom imposes any universal laws, and most likely does not even have a formal charter. Rather, it exists in the form of understandings and promises of mutual aid between many clans. Although a Lilkirgyn might take pride in his clan, he would think it strange to feel any great sense of loyalty to his nation – it is too vague an entity to excite feelings of patriotism. Nations only exist to bring large numbers of Lilkirgynyyn together in times of emergency or monumental enterprise. They rarely go to war against each other, as conflicts are judged to be the private business of the clans directly involved, even if they belong to two different nations. However, an entire nation is likely to mobilize if it faces an attack by members of some other race.

Saturday, February 1, 2014

Robot Quadruped Legs

Finally got all four new robot legs done. Well, as done as they'll be for a while. It doesn't seem like that much work, but for whatever reason, I feel about as worn out as D'Artagnan looks in this photo.


In other news, the FIRST Robotics team that I'm mentoring (Raptacon) are making progress with their robot. They've built the chassis, a ball collection mechanism, and several ball-throwing prototypes.


Aaand my house is still recovering from the general neglect it experiences during a building spree.


Until the next cycle,

Jenny

Sunday, January 19, 2014

Build a Better Hinge Joint

ACE is my walker robot (in progress), and this marks the third time I've rebuilt his leg joints.  Before you can build a good articulated robot, you first need the ability to build a good hinge joint.  This may seem to go without saying, but it's a lesson I've learned the hard way; thinking that something is "good enough" has come back to bite me multiple times on this project.  I can only hope my most recent effort at hinge joints is adequate.  Below, I offer some general advice on joints based on my humble experience.

First, don't over-estimate the strength of your glue.  You can use glue to solidify connections, but I don't recommend depending on it to actually hold things in place in any sort of load-bearing connection.  Bent wire threaded through holes or wrapped around things works better than Superglue (cyanoacrylate) any day, with the added advantage that you can easily take things apart again if you make a mistake.  When putting the joint together, try to make all of the pieces interlock in such a way that the forces on the connection *can't* make it come apart without breaking one of the pieces.  Think about all the different ways two pieces might rotate or slide with respect to each other, and make sure you've accounted for all of them.  Of course this is good advice for building structures in general, not just joints.

Second, any amount of obvious "play" in the joint is unacceptable.  If it's a hinge joint, one piece should fit inside the other snugly enough that you can only rotate it, not wiggle it side to side.  If the amount of wiggling is small, it may not seem like a big deal at first ... but it is.  Small motions at a joint are multiplied as you move along the length of a leg segment.  Compound the effect of multiple joints, and what you end up with could be more reminiscent of a tottering pile of sticks than a robot.

As a corollary to the above, the materials from which you make your joint must be rigid enough that they don't sag under load (one reason why I like metal tubing so much for this application).

Third, don't head to the opposite extreme and make the joint too snug.  When preparing your pieces, make sure to sand off any little burrs that might catch as the joint moves.  If the outer part of your joint is made of tubing and you attach to it with something that wraps around it (e.g. wire, which is what I used), don't make that wrapping so tight that it pinches the outer tube against the inner one.  High-friction joints make cheap little motors cry, and we don't want that.

My latest hinge joints consist of an inner aluminum tube and an outer tube made from a ballpoint pen shaft.  Both the inner and outer tube need to be solidly connected to the paper clip wires that join them to the "leg bones" on either side of the joint.  For the outer shafts, I use pens made from a very soft plastic, so I can poke holes through the surface of the tube with a pin, creating little tunnels on the outside of the tube through which I can thread 24-gauge beading wire.  I wrap this wire around the paper clip wire to hold it in place, so it can neither slide horizontally along the outer tube, nor slip around it rotationally.  (A little glue will firm things up, but remember, you can't depend on it!)  

Connecting to the inner tube was easier: I just bored holes through its two ends where they emerge from the outer tube.  Turns out that the easiest way to do this when you don't have a drill press is to grind out the holes with the sharp point of something made from a hard metal (like the tip of a pair of wire cutters).  A rotary tool equipped with a diamond-coated bit can be used if you want to enlarge the hole, but doesn't work very well to start it; without a pilot hole, the bit will just want to bounce off the material.

The wire that goes through the holes in the inner tube also pierces through two more pieces of plastic pen.  These form a collar on either side of the rotating outer tube and keep it from sliding side to side.

The other ends of the wires attach to pieces of plastic that can be drilled and screwed to the leg bones.  I used the rim of a jar lid (after sanding off the threads on the inside) because its slight curve will help it fit to the legs better.

Until the next cycle,
Jenny