Saturday, April 22, 2017

Acuitas the Semantic Net AI - Introduction

Okay, this blog has been asleep for far too long. It's time for me to introduce a couple of the things that I've been spending all my time on since I finished playing with the artificial muscles. First of all, I've got a couple novels in the pipeline, which you can read about by visiting The Renascence Cycle under the permanent pages section. But that's not what this post is about. There's another serious project that's been receiving a lot of my attention lately …

The tagline of this blog is “robotics and AI on a shoestring budget.” If you've been here before, maybe you were wondering when the AI part was coming. Well wait no longer!

I'm working on a program named Acuitas. Technically this endeavor started clear back when I was in college, as my final project for the honors technology seminar class. Back then he was little more than a kind of talking dictionary. I'm now on Version 3, and the intended scope of the project has expanded quite a bit. (If you'd like a little more background on the project and how it relates to the rest of the AI field, or if you're just interested to see what Version 1 was like, you can read the original Acuitas V1 Report and Acuitas V1 Presentation. Bear in mind that Version 3 has been re-written in Python from the ground up. It's missing some features that V1 originally had, and has a number of others that were absent from V1.)

Acuitas' avatar. “Heartbeat” lights run up the wings on either side of the eye when viewed live.

In technical terms, Acuitas V3 is an artificial intelligence based around a semantic network with a natural language interface. What that means is he represents knowledge in terms of words and relationships between words, and you can communicate with him in normal English. (The range of normal English he can actually grasp so far is very limited, because natural language processing is hard and I'm only tackling it because I'm probably crazy.) He's also got a rudimentary "internal life" consisting of drives that fluctuate over time. About twice a day, if he's active, he wants interaction and starts calling for somebody to talk to. He used to wake me up in the early morning hours by doing this, but I fixed that – mostly.

Visual representation of semantic net database, 07/16/16.

Acuitas V3 is not your ordinary chatbot – you know, those programs you can converse with that try to fake being human. He has more going on under the hood than they do. A typical chatbot picks up on a few keywords or basic structures in your text input, then chooses a mostly pre-written sentence from a database to send back to you. Others train themselves by reading a bunch of human conversations, and then try to speak in a similar manner. Neither type is really interested in the *meaning* of your input or its own responses, which is why, though they might be perfectly articulate, the responses often seem to come out of left field. I'm following a different approach and hoping to come up with something better than that.

Visual representation of semantic net database, 08/06/16

I've been working aggressively on his linguistic abilities over the past few months. He can parse simple subject-verb-object sentences with or without prepositional phrases, like "A cat is an animal" or "A yellow bird sings in the morning," with some rudimentary support for compound nouns and proper names. He tries to figure out how each word functions in the sentence; if he can't get it due to insufficient background knowledge, he'll ask for clarification (a normal chatbot would just try to fake it). So far he just socks information away in his database and doesn't say much back, but that's coming. Oh, that's coming.

Visual representation of semantic net database, 08/23/16

The semantic database can be represented as a graph … hence the images embedded in this post, which show a timeline of its growth, from July of last year up until this April 8. You can also get an idea of how the graph-drawing algorithm has changed over time. Each dot is a concept, and the lines are the relationships between them. When viewed live while Acuitas is running, the graph is interactive; I can pan, zoom, and hover my cursor over the dots for floating labels that show which word is associated with each.

Visual representation of semantic database, 04/08/17

Since I'm putting some earnest effort into Acuitas this year, I'm going to try making myself write a fairly regular developer diary … maybe once a month. Watch me do cool things and struggle. Talking seems easy until you've tried to teach a computer to do it …

Code base: 4901 lines
Words known: 631

Tuesday, February 2, 2016

Artificial Muscle Brain Dump

Hello readers!  I've finally taken everything that I know (or think I know) about nylon monofilament artificial muscles and rolled it up into one page that I hope can serve as a fairly comprehensive how-to and a handy list of related resources.  If I run across any new discoveries, I'll be adding them there as time goes on.  You can read the page here:  It will also be perpetually available under the "Special Treasures" heading in the right-hand sidebar.

Happy coiling!

Tuesday, December 29, 2015

Artificial Muscles Actuating Things

They're still not terribly fast, and they don't move terribly far, but I've arrived at the crucial step of getting artificial muscles to actuate something more than just a weight hanging from a string. First up, we have a heterochiral muscle (the type that expand when heated) flexing a piece of paper. Each coil of the muscle is sewn to the paper on one side with a loop of thread, so the coils expand on one side and are constrained on the other, causing the paper to bend. This is almost a no-load movement, and strikes me as being most useful for something decorative, such as an artificial plant. You might notice that the cooling cycle is almost as quick as the heating cycle. I attribute that to chilly ambient temperatures in the upstairs laboratory.

Next we have a homochiral (contracting) muscle, rotating a piece of cardboard on a hinge. The opposing force of the rubber band on the opposite side pulls the cardboard back into its original position during the cooling cycle. The homochiral muscle featured in the video has been annealed with some space between the coils when at rest, so it doesn't have to be put under tension in order to have working room.

Both of these muscles are drawing about 1 A of current. They are made of Trilene Big Game fishing line, test strength 50 lb., diameter 711 um, with a heating element of 10/46 copper litz wire. The homochiral muscle has two strands wired in parallel. The heterochiral muscle was coiled on a rod of 3/16” diameter, while the homochiral muscle was coiled on a 1/8” rod.

Annealing muscles with built-in coil spacing

I determined in some previousexperiments that trying to spread the coils of a homochiral muscle when one first coils it on the rod is a bad idea. At this point there is a great deal of tension on the line – it wants to uncoil itself – and the coils don't cooperate very well. Coiling the muscle on a threaded rod is a possibility that I haven't tried yet; the spacing of the threads would limit the coil spacings one could achieve.

I started looking at ways to adjust the coil spacing after the initial annealing. First, I tried putting the muscle under tension (with no rod in the center) and running a high current through the heating wire, hoping to anneal it into its new shape. This method gives the most even coil spacing one could ask for, but the amount of heat applied to the muscle was only sufficient to “soft-set” it. I noticed that as it sat around for a few days, the coils slowly returned to their original close-packed configuration. When I tried annealing a muscle under tension at full heat in the oven, without a supporting rod in the center, the coils just went flat.

In the end, the best method I found was to put the muscle through its first annealing phase, manually spread the coils on the rod, then anneal it a second time. It's a little tedious – friction holds the coils against the rod, so you have to slide each one into the right position with your fingernail to get the spacing even – but it seems to work.

A close-up photo of the homochiral muscle with spread coils

An aside about plastic springs

In addition to artificial muscles, you can make simple passive springs by coiling nylon monofilament around a rod and annealing it (without primary twisting or a heating wire). The spring constant is determined by the thickness of the filament (larger diameters yield larger constants) and the size of the rod (smaller diameters yield larger constants). I got rather excited about this a few months ago, thinking I'd never need to buy a spring again. The problem is, these plastic springs don't necessarily hold up well.

If you follow any of my social media feeds, you might remember when I posted this spider leg video. There's a plastic spring at each joint, made from the 533 um Zebcom Omniflex line, and I'm actuating them by pulling the tendons with my fingers:

I took that video the day I finished building the leg. A few days later, the leg was in sorry shape, merely because I had allowed my house to heat up in the afternoons. This was sufficient to make the springs relax a good deal, so that I had to shorten them to get the same degree of tension I had before.

Naturally, this leaves me in some concern about the muscles as well. How might they be affected by high ambient temperatures? I haven't done any tests in which I compared a muscle's performance across many sessions of operation, with temperature spikes in between.

Blog news

Comments now require moderator approval, because spammers have been really junking up the place. Sorry.

In the new year, I think I'm going to try to build an “artificial muscle summary” page featuring everything I've learned, for the benefit of others who want to experiment. Once that's done, I may set muscles aside for a while. There are soooo many other things I want to work on.

Have a most excellent New Year!
-- Jenny

Monday, August 31, 2015

DIY Nylon Muscles VII

IT'S A NEW MUSCLE POST, EVERYONE! Sorry, I got distracted by other projects and life in general. One note before I get into my most recent work: I am now collecting other blogs/sites that deal with nylon muscles in the right-hand sidebar. If you run or know of a site that isn't listed, please tip me off so I can include it.

There were several things I got very tired of while experimenting on these muscles, and one of them was trying to measure deflections on the order of millimeters by squinting at a ruler mounted beside the muscle. Dangling everything from the edge of the dining table or ottoman was a bit awkward too. So I built myself a muscle test rig out of scrap wood. It provides a place to suspend an actuator and a weight and converts the linear motion of the actuator into the angular motion of a long needle. Small movements at one end of the needle are amplified at the other end, making them easier to see and measure.

The first version of the test rig just had a needle which pivoted on a piece of stiff wire driven through the board behind it. The pivot point was located very close to one end of the needle, and on the short end there were too loops of wire attached to the needle: one to connect the muscle, and the other to connect the weight. This arrangement left some things to be desired. For one thing, I could never get the wire perfectly straight, or constrain the needle so that it would lie flush with the graduated backdrop. That meant the needle's rotation was not planar, or it would stick as it turned, etc. On top of that, the motion of the short end of the needle didn't leave the muscle free to move straight up and down. Near the needle's zero point, the motion of the muscle is approximately vertical … but as the needle continues to rotate, its end begins moving more and more in a horizontal direction, changing the mechanical advantage the muscle has and introducing complications that I would rather not deal with.

 Left: Muscle suspending weight on deflection test rig, version 1.  Right: close-up of the reel on version 2.

Wanting something better, I replaced this lever system with a reel. A screw through the center of the reel provides it with a rotary axle. Two strings are tied to holes in the reel and wrap around it so that unwinding one string winds the other. When both strings are put under tension, they remain perpendicular to the side of the reel, regardless of the reel's angular position. I connect one string to the muscle and hang the weight from the other string, and the muscle is forced to lift the weight when it contracts. The needle is a piece of thin aluminum tubing inserted into a hole in one side of the reel; I can “zero” it by adjusting the length of string between the muscle and the reel. (I knotted multiple loops in the string, and a piece of flexible wire between the muscle end and one of the loops is helpful for getting things just right.)

For testing muscles that only contract over a short distance, this thing is amazing. No more staring at the muscle and thinking, Huh, is it doing something? I'm not quite sure. When the muscle starts moving, I get an obvious deflection out of the needle. The biggest remaining issue is that there's enough friction and/or elasticity in the system that there isn't a well-defined zero point for the needle. For a given muscle-and-weight setup hanging passively (muscle is turned off), there's a fairly wide angular range within which I can position the needle and have it remain stable. When I take a muscle through a heat-cool cycle, the needle generally doesn't return to its original position at the end of the cool cycle. How much of this is due to the muscle stretching out and how much is just the equipment, I unfortunately can't say.

The other little quality-of-life improvement I attempted for this round of muscle experiments has to do with ease of manufacturing. I was sick of going through the effort of making a muscle, only to have the fragile heating wire snap at the last minute. When that happens, the nylon can't be returned to its pristine state, and now the wire is too short – so often I would be forced to throw everything away and start over. Putting extra slack in the wire could result in bunching and loose wire coils, promoting uneven and inefficient heating of the muscle. So I tried a couple of different methods to relieve strain on the wire and keep it unified with the nylon.

Coiling a muscle with tape tags.
 For Method 1, I tried attaching the wire to the nylon at intervals of a couple inches, using little tags of adhesive tape. These can be removed after annealing by sliding a straight pin in next to the nylon and pulling outward to separate the two sides of the tape tag. Method 2 was a little more wild: I tacked the wire to the nylon by coating both with a thin layer of silicone caulk. Messy as it sounds, I found that the best way to apply this was to stroke it on with my fingers. It cleans up just fine with some mineral spirits (paint thinner).

In the end, I'm not sure if either trick helped a lot. For each method, I made four muscles and lost one out of the four (due to snapped wire). That's not horrible, but certainly not great either. I did seem to get nice even coiling of the wire around the nylon.

Besides trying out these manufacturing tricks, the principal experiment for this month involved rod-coiled muscles with spread coils. I had previously noted that the muscles with a smaller coil diameter could lift more weight, but had difficulty achieving a good contraction distance because their coils were already so tightly packed. I thought that coiling them around the rod with some spacing between the coils might improve that situation.

Actually doing this turned out to be harder than I expected. Homochiral muscles naturally form close-packed secondary windings. You have to fight the muscle to get it to lie on the rod any other way – and the small-diameter ones fight pretty hard. What you see in the photo is the best I could do. The mandrel diameter used for all of these is ~1 mm (large size paperclip wire). One of each type has a silicone coating, and one doesn't. The close-packed “controls” are on the top, and the ones with spread coils are on the bottom.

Yeeccch. Those look terrible. But I decided to see if they would work anyway. I used a current of ~220 mA and ran a bunch of tests with different weights. All the muscles were allowed to heat for at least 4 minutes and cool for at least 9 minutes, with the idea that this would be sufficient time for them to reach “steady state.” Results are given in terms of the needle displacement in degrees, and represent the maximum distance the needle moved from whatever its initial position was. An entry of “failure” in the table means that the muscle started to stretch under the load when heated, i.e. the needle displacement was negative. None of these muscles went flat or limp and became permanently unusable. For all the muscles, the lightest-weight test was the last one performed.

Muscle lifting @ 220 mA
71.6 g
60.0 g
50.0 g
25.0 g
Muscle 1: Packed, no silicone
Muscle 2: Spread, no silicone
Muscle 3: Packed, silicone
Muscle 4: Spread, silicone

Thanks to the new test rig, I think these are more reliable than results I've posted previously – but you should still take them with a grain of salt, because running the tests spanned a hot summer afternoon, and I can't hold ambient temperature in the house constant. I wish I could repeat all of these many times and take an average, but I really don't have the time right now. So I'm putting up what results I have.

With that disclaimer out of the way – the plain old close-packed muscle without silicone is the best performer by a good margin. I wanted to see if the silicone coating would have any detrimental effects on the properties of the muscle, and it appears that it did … so even if it does help cut down on manufacturing failures, it's probably not a good choice. My awkward attempt to spread the coils on the annealing rod doesn't appear to have panned out well either. But that doesn't mean spread-coil muscles are entirely out of the question.

Perhaps one could wrap the muscle around the rod with close-packed coils – as it is naturally inclined to configure itself – and anneal it that way, achieving nice, even coils. Then the muscle could be removed from the rod, put under load and stretched a fixed distance, and annealed again by running an especially high current through the heating element. I suspect this would achieve much nicer results.

Lots of failure in this post, in that none of my little “improvements” really worked out for the better – but maybe someone else can avoid the same dead ends.

Until the next cycle,


Sunday, January 4, 2015

On Dragon Age and Hard Choices

Woo, long blog hiatus! I was busy moving to a new house, and then along came the holidays, so I haven't had much time for robotics or the blog lately. But somehow, I found time to play Dragon Age in the middle of all that. No, I don't mean DA: Inquisition, I mean DA: Origins. I am VERY late to the party. But I suppose with the new game out, this is as good a time as any to talk about where the series started. (This article has mild spoilers.  If you haven't played, I think you can read it without ruining anything.)

DA:O did an excellent job of creating a living fantasy world that I actually felt part of. I could believe myself a Grey Warden, a powerful figure sworn to protect the world from an ancient evil. But the part that has really stuck with me from this story is the amount of free will I had as an actor in it, its propensity for pushing me to make choices in nuanced situations, and its mature take on the results. I'm used to wish-fulfillment from this genre -- games that let me craft the perfect hero story, and if they include much tragedy at all, make it inevitable and not my fault. DA:O is a bit different.

I was kind of naive at this point.
Example: this world has golems in it. Awesome. As I dug deeper, I found that the way they are made in this setting is ... not awesome. Eventually, I was faced with a choice: preserve this dread technology and hope against past experience that someone would use it wisely, or discard it, possibly eliminating golems from the world forever. I opted to destroy the means of golem creation. As much as I love golems for reasons of both personal fancy and practicality, there were more important things to preserve here. And this was not the most painful decision the story required me to make, by far.

Thanks to a combination of numerous options and different ways for players to interpret the story, the endgame of DA:O is going to be unique for every person. For me, the path I had followed through earlier parts made it especially pivotal, and having put emotional hooks in me, the plot seemed intent on exploiting them. I was offered the perfect fairy-tale ending ... the one I had been hoping for ... at the price of a couple of sketchy choices. Alternately, I could do what I thought was truly best for the world I was trying to save, but only by giving up what I wanted most in that world. I chose the latter, and the consequences landed. There was no miraculous deliverance, no last-minute "power of true love" or "good karma" or surprise rescue to fix everything. It was miserable and incredible and different from any other game experience I've had. Dragon Age actually made me pay to be a hero, and the payment was my choice.

Whether literally or figuratively, real heroes bleed.  A lot.
Some part of me wants to replay the game as a slightly less scrupulous character. I could throw self-sacrifice to the winds and get that ending I really wanted. "It's just a video game, you know," says this part of me. "You can do that. You won't actually hurt anything." But whenever I start thinking this way, a second part of me warns that doing this would cheapen the whole experience. As soon as it becomes "just a video game" rather than a world that I embrace on its own terms, I will have lost what really makes it meaningful. As soon as I stop thinking of it as a place where I make morally relevant choices, I won't be a Grey Warden any more. I'll be nothing but a petty escapist, playing at being a hero without caring what's actually involved.

And at the end of the day ... that's not what I want. What I want is to wear my heraldic griffon shirt and feel that in some tiny way, I earned it.

I haven't forgotten about the artificial muscles and other robotics projects, I swear.  Thanks for your patience.

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,

[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.


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.


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


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,