While displaying these robots, I observed that the thousands of people who interacted with them, projected their own social realities upon these devices which were little more than motors zip tied to plastic household utensils. The obvious shortcoming of the Simple Bots approach was that no matter what personalities people projected upon these creations, they ultimately implicitly understood that these creatures were robotic.
This led me to wonder what would happen if I built robots that were more intentionally organic-like and fluid in motion. Would people perceive them as being even more alive? Was there a threshold where people would stop perceiving them as robots and start perceiving them as living organisms? However, before I could answer these questions, I needed to figure out the mechanics that would allow these motions.
While I could have explored a number of different fabrication processes, I recently found myself with unlimited access to eight Objet Connex 500 3D printers. Aside from having an incredibly high print resolution, what makes these printers unique is their ability to print digital materials with a wide range of hardnesses and colors. These printers essentially allow the different materials to be mixed together to create a Pantone-like scale for material hardness. This was particularly compelling for this type of robotics because it would provide the ability to print highly accurate assemblies that simultaneously contained rigid and flexible materials. By printing materials with different hardness, flex, stretch, and torsion properties, I would be able to print life-like joints and musculature. With this in mind, I set out to make biologically inspired designs using 3D printing technologies.
All digital models were created using 123D Design on account of its ease of use, and ability to be downloaded and used for free. This is an intentional decision to make the project open, and modifiable. It is my hope that others will be able to download my files, iterate upon my solutions, and ultimately expand my research. All content contained herein is licensed with a Creative Commons 2.5 Share-Alike Non-Commercial Attribution license.
Step 1: A Note on Evolution
Most notably, Vogul points out:
- "nature is not only glacial in speed, but lacking in versatility"
- "most variations [mutations] are either neutral or detrimental"
- "innovation comes hard, and once achieve it disseminates entirely within a lineage"
- "diversity in nature represents superficial features of an exceedingly conservative and stereotyped character"
While it may be tempting to describe robotics in terms of evolution, I think it is better to view it as an iterative process. This process, while very similar to evolution, is noticeably different. As evolution repeatedly demonstrates, most change is detrimental, blind and slow. Iteration, on the other hand, is (ideally) beneficial, intentional, and fast. One rarely iterates if they don't think the subsequent version is going to be an improvement or will illuminate something that will help to move other iterations forward. Just as organic-like machines are similar to life, but not replicating it; so is the case that the process for making these machines should be evolution-like, but not a perfect repetition.
Step 2: Research Methodology
In doing this, it is my goal to create robotic agents that can help us better understand the relationships between ourselves and our technology. While it may seem like I got lost in a web of formalistic considerations, please bear in mind that my ultimate goal is to make abstracted biologically-inspired robots intended to capitalize on our existing mental associations, and social relationships. I am not trying to explicitly further the field of engineering, nor am I trying to exclusively understand abstract social constructs. My goal is to find a holistic approach that acknowledges both, but does not favor either.
As Simon Penny points out in Bridging Two Cultures (2005):
Hopefully some of what I share here will help contribute to and push forward 'more serious' objectivist-positivist scientific inquiry. More importantly, I hope to provide people with tools and techniques which can be used a springboard for better understanding our relationships with technological organisms. This will ideally help us to have richer social experiences with technology, and live happier and fuller lives.
Step 3: The Uncanny Valley and Social Interaction
Additionally, beyond our own social constructs, we bring with us a nagging meta-cognition that this being is not alive in the same sense that we are. This understanding can both enable us to accept it more readily as an autonomous creature in its own right, but also lead us to reject it as a cheap simulation. As roboticist Masahiro Mori first claimed in 1970, an "uncanny valley" in human empathy levels exists at threshold in which a robot becomes very human-like, and then disappears entirely when perfect replication is achieved. In other words, we have empathy for robots until the point at which it is very close to being human, at which point we have a strong revulsion. Should the robot continue becoming more human-like (to the point of being indistinguishable from human), our empathy levels spike up to human-to-human empathy levels. This sudden and drastic dip where our empathy levels drop dramatically before spiking up again, is the "uncanny valley"
For example, this unsettling humanoid robot falls deep within the "uncanny valley:"
While this principle is largely applied to humanoid robots, I would venture to guess the same principle can be applied - to a large extent - to zoomorphic robots. After all, regardless of whether animals have rich cognitive and emotional lives (which I personally believe some do), we project ours upon them, and in some capacity humanize them. I would venture to guess a nearly perfect robotic dog, would be just as unsettling as a nearly perfect robotic human.
Understanding that I will never achieve entirely perfect zoomorphic replicas, I have decided not to set my sights on it. It is my worry that "almost perfect" execution might actually be worse than an abstracted mimesis. Instead of direct replication, I have set out to create what Simon Penny termed a "Social Agent." These agents exist within a social environment, as a sort of reflection of the viewer. People observe them and then project their own cultural metaphors and associations upon them, creating cultural meaning where none really exists. For this reason, a toothbrush head with a battery and vibrating motor attached could be perceived to be alive - even playful - although it has no real intelligence of what to speak. Capitalizing on people's need to understand and bring meaning to the world, these devices exploit people's prior experiences with other living creatures to offer meaning.
In this circumstance, the robotic agent actually benefits from behaving like other organisms, but not actually trying to be any of them. For starters, it can capitalize on people's existing cultural association, and secondly, it does not risk falling into the "uncanny valley." Therefore, it was not my goal to recreate existing forms. There was no point. The biological organisms that I am studying already exist in a perfectly fine manner. Instead, it is my goal to capitalize on the existing social responses these forms trigger in humans. This could easily be done without perfect replication.
Rather than recreate a spider or squid, I have set out to create a new "species" which could be perceived as spider-like or squid-like. Ultimately, I am building robotic creatures which could be perceived as autonomous - perhaps even intelligent - sentient organisms, but have little to no intelligence to speak of. In other terms, I strive for the robots to be perceived as living in a social context, rather than to exist as self-aware living organisms that try to be alive. Ultimately, it is not my goal to get behavioral responses out of robots, but behavioral responses out of humans.
Step 4: Predictable Unpredictability
As we relate to most other animals that behave in this manner, so can we also relate to robots. If motorized jumbles of zip tied plastic can convince people that they are displaying life-like behaviors, then this would lead me to believe that by making them even more life-like in form, I can convince people that these organisms are even more alive. Perhaps these creatures - which exist nowhere in nature - can even inspire people to take the leap of faith required to perceive them as entirely living.
Ultimately, I am building machines to mimic attributes of living organisms in order to act upon humans associations and force emotional reactions. On some level, this is an absurd interaction in which intelligent organisms empathize with a machine that has no cognition whatsoever.
Step 5: Initial Biomechanical Models
Step 6: The Arm
There are 24 muscle groups that contribute to the movement and stability of the shoulder. Of these, seventeen are in some way attached to the shoulder blade, which is a free floating bone that both counterbalances and provides a suport for the arm's rotation in the ball socket. There is only one traditional bone joint connecting the shoulder to the rest of the body (from the collarbone to the breastbone). Otherwise, the shoulder is largely held in place by tendons, ligaments, cartilage and muscle. Also worth noting, many of these muscles are long muscles that stretch down the length of the back and chest.
To translate these into robotic terms would have necessitated a larger support structure than the small modular joints I intended to build. Additionally, even if I were to simplify the shoulder musculature to only include the muscles required for forceful motion, I still would have needed a significant number of artificial muscles. It was my conclusion that as a point of departure towards a generalized human joint, the shoulder was less than ideal due to its uniqueness and complexity in structure.
Fortunately, not much further down the arm, one finds the elbow. The elbow is a textbook hinge joint. It also has a relatively simple pairing of muscles, which are responsible for expanding and contracting the joint along a 140 degree arc. The other notable characteristic of this hinge joint is that it not only mirrors a number of other human joints including the knee, and finger joints, but also mirrors hinge joints in a host of other species. These include, but are no means limited to lizards, dogs, horses, turtles, and elephants. In terms of a mechanism that would be key for generalized life-like locomotion, the hinge joint seemed like a good starting point.
The joint itself is relatively basic. It consists of two bones separated by cartilage and held together by four ligaments. Muscles then attach to the bones with tendons to create a third-class lever. By contracting and releasing the muscles the forearm lifts and lowers. Beyond that, there is not too much more to understand in the way of basic functionality. It is a very simple biomechanical model, which makes it an ideal form to explore in terms of robotics.
In case you are unfamiliar with your own elbow, check this out:
Step 7: The Spider Leg
Most joints in the spider are controlled by traditional flexor and extensor muscles. However, two of the joints only have the presence of flexor muscles. By regulating the pressure in these joints and using muscles to pull against them, the spider is able to generate substantial force. These joints also have mechanical reversible properties, which means that the joints can not only stiffen to provide support, but can also aid in creating a frame for bend deformations in multiple directions. This use of muscle to create a structural frame is similar to the manner in which cephalopod tentacles operate.
Albeit my initial guesstimation was that a spider's leg consisted of 5 segments, I was surprised to learn that it actually has 7 discrete segments. Additionally, each segment has a unique and considerable range of motion. This makes the spider leg much more robust than I initially anticipated.
In terms of the type of joints that comprise its leg - aside from the two partially hydraulic joints - the structure is not very remarkable. The spider's joints consist entirely of hinge joints, like the one found in the human elbow. However, what sets them apart from human joints is the ability for a number of them to significantly bend along 2 axis.
From this basic research, it has become clear that in order to properly mimic a spider's leg, the robot is going to need a heckuva lot of segments and actuators. Alternately, if the goal is not to perfectly mimic a spider, but to build a modular joint, then it will not look remarkably different from the human elbow joint. That said, I found the partially hydraulic joints very interesting for further research. Much of my early research revolved around the attempt to create hinge joints that included hydraulic elements.
Step 8: The Tentacle
The three main ways to describe tentacle movement include:
Reach - Increase in distance between proximal and distal portions of the tentacle.
Pull - Decrease in distance between proximal and distal portions of the tentacle.
Explore - No change in distance. Laterial movements with localized sharp bending and torsion
They are also capable of four basic deformations which can occur at any point at any time. These deformations are elongation, shortening, bending, and torsion (twisting). These deformations occur at "pseudo joints," which are localized arm bends that serve as pivot points.
When underwater, Cephalopods are roughly neutrally buoyant, and are typically marginally denser than sea water. On account of their bouncy and range of motion, they are capable of a highly dynamic behavior, and are well adapted to this environment.
Here are some examples of octopi moving in water:
Since most of the research centered around these organisms focus on their movement in an aquatic environment, it only later dawned upon me that the dynamism of cephalopods was severely limited by gravity when the creature was removed from water. Albeit I could not find any research supporting this idea, I was able to find a number of videos showing how octopi move outside of water. My observations of these videos have led me to conclude that my initial hypothesis was a fairly accurate assumption.
The following videos demonstrate their movement outside of water:
As you can see from the videos, albeit the octopus can still engage in a range of movements, they are clearly having trouble supporting their own weight in relation to gravity. While one explanation may be that these motions may just be a behavioral trait that they only exhibit outside of water, a better explanation is that gravity dictates their movement by making it hard for them to support the weight of their massive bodies, and pulling them down to the ground.
What this means for robotics is that either the tentacles I am making only need to demonstrate great dynamism if they are to exist in an aqueous environment. Otherwise, if the tentacle creature is to live outside of water, it is reasonable to allow them to be limited by their own mass. Rather than being able to lift itself and dynamically move in any direction while on land, the tentacles should actually be better suited to drag themselves along the ground by curling and uncurling over each other.
Step 9: Robotic Precedents
Hydraulic Spider Prototype (2011)
The robotic spider pictured above is built by Fraunhofer. Unlike other robotic spiders, this one mirrors actual spider biomechanics by using hydraulic joints. These joints are controlled by an on-board pump, valves, and control units. It is also of interest, because it using an SLS 3D printing process (similar in ways to the Objet printing process). The amount of control and force each leg is able to apply allows it to tread uneven ground with great agility. Unfortunately, there is limited documentation currently published, and no video demonstrating its abilities.
Autonomous Walking Spider Robot (2008)
Kanal Von Tinowerner
Pros: It is a very simple mechanism, and somewhat convincing as a spider.
Cons: The legs are rigid and the movement is stiff.
Shadow Robot Company Arm with Hand C5 (2008)
Shadow Robot Company
Pros: This is very complex and pneumatic-based. Using air pressure, it is capable of a lot of force.
Cons: The movement is very mechanical and rigid.
Soft Robot Artificial Muscle Arm and Gripper (2012)
Pros: As an arm, it is not ideal. However, as a potential model for a tentacle with no rigid skeleton, this is a very interesting approach.
Cons: It is lacking structure and complex control necessary for arm movement.
Robot Tentacle (2006)
Pros: This is a strong pneumatic air-muscle based tentacle capable of a range of movements.
Cons: It is big and unwieldy, has a limited number of flex points, and seemingly limited by gravity.
Soft Robot Tentacle (2011)
The Octopus Project
Pros: Looks and seemingly acts like an actual tentacle.
Cons: I suspect this is a rigid skeleton only capable of a single deformation pivot, and is capitalizing on the silicone covering's tendency to be fluid and wrap around things when moved underwater.
Step 10: Intentional Mistakes
From the onset, I recognized this was mechanically not the right approach. For starters, it could not expand and stretch like an actual tentacle. It also only allowed for deformation along two axis, and - at that - only along a singular pivot. This is less than ideal because an actual tentacle allows for deformation in any direction at any given point along its length. It is also rigid and not particularly suited to gripping things.
The tail is actuated by four metal cables passed through four consecutive rows of holes in each of the discs. These rows are arranged in cardinal compass positions around the center. If you pull on one cable, the tail will bend in that direction, and if you pull on the opposite cable, it will then pull in the other. By alternately pulling on different cables, the tail can be made to bend in any direction.
However, I wanted to have first hand experience to understand why this particular tentacle-like configuration was not right. I needed to physically interact with it before I could actually understand why it was a mistake. I also wanted to see if there was anything to be found of value in its design. After some initial experimentation I concluded that in spite of all of its shortcomings, it was - after all - pretty close to what I was trying to do.
This design ultimately feel short of mimicking a tentacle. However, this mechanism inspired later approaches towards hinge joints. I also think there is perhaps some value to be found in this design for land-based tentacle robots; but more on that later.
Step 11: Semi-Intentional Mistakes
In fact, I never even got the chance to test it out. It became really apparent that the flaw in the design was the rubber connectors. Even though they were anchored firmly within the rigid plastic, they were not exposed for any significant length. Instead of bending, the rubber connectors simply snapped off where they met the plastic. Basically, the amount of force required to snap the leg off was less than the amount of force necessary to bend the rubber cylindrical connectors. The lengths of cylinder that needed to bend were ultimately less than the diameter of the cylinder. It was not going to work.
There were ways I could have refined the design to make it work. However, it became apparent to me that this design would not scale, was not modular, and not biomechanically correct (at least, how it currently stood). I quickly abandoned it, and moved towards building a modular leg instead.
Step 12: Hydraulic Bellows
Instead, I decided pneumatics were not only a more sensible approach, but also a more interesting area to explore. Very few people were working on hydraulics at this scale, leaving a lot of room for experimentation. My initial models were inspired by two works found on Instructables. The first work was a pneumatic-based soft robot arm that used expanding and contracting bellows that controlled a robotic claw . The second work was a cardboard robot arm that used syringes as both pneumatic levers and actuators. I decided to combine the two works and use a syringe as an actuator to control the bellows.
Step 13: Bellows V.1
I am aware this is possible, because the only prior instance I have seen of a working 3D printed bellow was made using a thin shell of this material. However, I did not succeed at replicating these results and gave up. Ultimately, I decided to try to use a material primarily consisting of a rubber-like "Tango Black +" material.
During this first round, I explored two different designs. One was accordion-like and expanded and contracted along a linear axis. The other was clamshell-like and expanded and contracted along a pivot. It was my thinking that the clamshell bellow may simultaneously provide structure to the joint and perform the pivot.
After the initial test I concluded the material was not going to be structural enough to allow this, and decided to proceed with the accordion-like design.
Step 14: Bellows V.2
My initial print consisted of 4 identical files using the following digital materials:
After initial testing I concluded that only the range between DM-9870 and DM-9895 were viable options. The softer DM-9850 material tended to fall apart during the post-printing cleaning process, and the more rigid DM-8530 was much too rigid and going to snap under use.
These prints were valuable as a proof of concept, but were not practical in terms of design. Chiefly, they were open on both ends, making them less than ideal as end-points in the closed system. Excessive additional hardware would have been needed to cap one end. Further iterations were required.
On a side note - other potential materials can be achieved by using a mixture of "Vero Clear" with either "Tango Black +" or "Tango +." These materials seem potentially a little less prone to cracking in a more rigid state. However, at the time of writing this article, I have been unable to print these parts with these combinations.
Step 15: Bellows V.3
In the process of doing this, I accidentally printed both sets with the same wall thickness. What happened was that the ABS-like bellows were too rigid and snapped. On the other hand, the rubber-like bellows were too thing, and also fell apart. I did not attempt to reprint either set of bellows because the rubber-like ones (in spite of falling apart) demonstrated that when compressed or expanded, these bellows deformed poorly. They tended to bulge outward along one axis when stretched. By contrast, the jagged edge bellows from V.2 compressed neatly inward in an accordion-like manner.
This design was explored no further.
Step 16: Bellows V.4
The obvious shortcoming of this design was that there was no easy way to mount the bellow to any surface, and as such, it was not easily constrained. This meant that it was prone to deforming and not very suitable for compressing or releasing a tensioned cable.
Step 17: Bellows V.5
Step 18: Spatial Deformation With Bellows
The reason this would work is because when one is elongated, a compression force could be applied to an opposite segment, causing the stiffened segment to deform and bend. This would allow for deformation in any given direction. This design would also allow for significant compression and expansion of the printed segment. This would give it a number of properties similar to an actual tentacle.
My first design included four bellows tessellated such that each one abutted two other on either side. After spending a very long time cleaning out the support material inside the bellows, it became apparent to me that there was an entire column of support on the inside of the assembly where all three bellows met. As the design currently stood, I would have no way of removing it. This was a set back because it was preventing full compression.
I tried to print it again, but this time with a 2mm hole in each end of the cap. This was the largest hole my design would allow me to place. This hole was too small to use to remove any meaningful amount of support material, and also proved to be a failure.
Finally it occurred to me that the nice thing about tessellation was that it was infinitely repeatable. Rather than having all four bellows interlock, I put a bellow in the center and one to each side of it. Having this central bellow allowed me to place significantly larger holes in the center of the cap, and I was finally able to remove all of the support material. This also meant that I did not have to significantly compromise the design and was able to maintain the same amount of deformation, compression, and expansion. The one downside to this approach was that the diameter of the segment became slightly bigger.
This design was significantly easier to clean, and just as promising. However, I noticed that the part could not expand without cracking along the seems. It became apparent that the bellow needed to be constrained along its Z-axis to prevent it from hyper-extending. It also became apparent, that when in use, the bellow's neutral position needed to be halfway between its elongated and contracted position, to allow stretching and compression of the tentacle.
Initially, I considered constraining it along the z axis with a cable fastened along its central channel that would allow it to compress, but not expand. However, I have since decided a batter approach may be to print a series of thick rubber bands with suction cup-like nodules parallel along the Z-axis.
As of the time of publication, I have yet to try either approach. Most all of my spatial deformation bellows have leaky spots from repeated handling. Both printing and cleaning a new one takes a considerable amount of time. At some point I will revisit this.
Step 19: 3D Printed Syringes
I printed the syringe in two parts. One part was the basic body of the syringe, and the other was the plunger assembly that included rubberized O-rings as part of the printed design. The two parts snapped together when completed.
All-in-all it functioned as it should.
Step 20: Hydraulic Muscle System
When I pulled the syringe's plunger outward, the muscle contracted. When I pushed the plunger back in, the muscle expanded.
I never got around to doing controlled weight tests, but in my initial subjective assessment, I found that it was able to lift an object of roughly a few pounds.
I was able to drive the muscle with the syringe without problem... or... well... almost without problem...
Step 21: Material Testing
I ran the test 3 times, and concluded, without a doubt, that the material was absorbing some amount of the water. However, it was inconclusive whether some materials were better than others. Nonetheless, none of the passed the test, and this was obviously problematic because it meant that the system was not sealed. In other words, it was slowly leaking over time.
Sealing both linear and spatial deformation bellow systems would prove to be difficult because of the number of surfaces, and the difficulty in reaching all of them. Albeit I have yet to try to solve this problem, I have some ideas on how to move forwards which I will address at the end.
Step 22: New Approaches
After all, I came to realize that in the setup I was imagining, I would need a motor to drive each hydraulic piston. If I am translating the motor rotation through a leaking hydraulic connection to (spoiler alert) linearly pull a cable, why not just have the motor pull the cable and remove the hydraulics? Answer... There is not a good reason for just scrapping the hydraulics (at least until I solve the leaking problem).
All of the mechanisms from here on out are being controlled by high torque micro geared motors pulling on cables.
Step 23: Bendable Joints
The first step towards making a non-hydraulic solution was to come up with a satisfactory bendable joint that could be pulled by a cable. As Steven Vogel points out in "Cat's Paws and Catapults," mechanical joints tend to slide and glide, but organic joints bend. I found it very important that the robot's joint should follow suit and actually bend. Looking back at earlier models, the Pleo's tail (which I considered a failed tentacle) turned out to be a suitable model for a hinge joint.
My initial joint design was created to allow for the insertion of a PVC pipe or thin-walled aluminum tube into the joint's end caps. However, after printing it, I realized that I was unhappy with it. It was not only heavy and using a lot of materials, but I came to conclude that attaching hollow pipes is an excessive use of material. I could provide the same amount of structure with significantly less material, and decided four thin aluminum rods were a better solution than a single hollow pipe. This eliminates the majority of the bulky and heavy material used, and generally makes the robot lighter.
The initial design was beneficial in that it had about 140 degrees of flexibility, which made it equivalent to a human elbow joint. This provided a good gauge for making a smaller spider joint which only needed about +/- 70 degrees of flexibility from center.
My next design had a bend angle of +/- 90 degrees and had a drastically lighter design. On each end cap there were four sockets designed for 3/16" rods to be press fit into. I was ultimately pleased with this design as a general purpose hinge joint.
Step 24: Robotic Limb
The motor plate was held in place by alternating shaft collars. Two shaft collars were placed on diagonal rods in front of the motor plate and two were placed on the opposite diagonal rods behind the plate. The idea was that these would prevent the plate from sliding forwards or backwards. I later learned that placing all four shaft collars in front of the motor plate was a better idea. The plate never slides backwards, and placing them all in front prevents the plate from deforming (it turns out the plate is not as solid as I expected when put under tension).
While the initial plan was to use the limb to push up against the table, I quickly discovered that this plan was flawed. It turn out that the printed hinge joints have 45 degrees of torsion, even when constrained by the steel cables. This means that a segment with two joints has a full 90 degrees of "twist." As such, any segment with more than one of the joints (as each limb is currently designed) is going to quickly turn sideways and lose stability.
Since pushing against the table resulted in the limb twisting 90 degrees, I decided to test it by hanging it off the edge of the table. In this way, I can observe how the joint would bend under tension without worry about it twisting.
In this example, I have turned the limb upside down to pull up against gravity:
After this first test I realized that attempting to actuate two joints with a single motor changed the lever forces in each joint and resulted in non-uniform bending. This was less than ideal.
I decided to try to compensate for that by adding tension to the two joint with various rubber bands configurations. This did not seem to work. Here is one example of that:
From these tests I learned that I was going to need at least one motor per joint. I also learned that having more than one of these joints was going to result in 90 degrees of torsion and render the limb useless. With all of this in mind, I decided to build a robot with one hinge joint per segment. It was my thinking that rather than use a second motor to pull the legs side to side I can rely on its inherent torsion and instability for locomotion. Additionally, it was my plan to use gravity to return the legs once actuated.
Step 25: 3D Printed Hexapod Body
Additionally, I have also come to conclude that building a hexapod was perhaps a bad idea because they are notoriously unstable. This has something to do with it consisting of a dynamically shifting pair of tripods. In nature, six-legged creatures actually actually are known to flail about and tip over. While this instability may actually be beneficial in certain situations, such as during the navigation of uneven or loose terrain, it is not what I was trying to accomplish.
I wish I had seen this Laurie Anderson video before starting this design. I may have been inspired to do some more research.
Step 26: Laser Cut Octopod Body
Step 27: Stuff You May Need
(x8) hinge joints (Materials: DM-8520 and DM-9870)
(x8) motor plates (Material: DM-8720)
(x8) spindles (Material: DM-8720)
(x8) end caps (Material: DM-8720)
(x2) wood brackets (Material: 1/4" plywood)
(x16) 6" x 3/16" aluminum rods
(x32) 4" x 3/16" aluminum rods
(x48) 3/16" shaft collars (McMaster #9946K42)
(x1) 100' x 1/32" steel cable (McMaster #3458T151)
(x100) 1/32" stop compression sleeve (McMaster #3936T33)
(x8) micro geared motors
(x8) H-bridges (removed from continuous servos)
(x1) assorted zip ties
Later the following parts were added:
(x8) TIP120 transistors
(x8) 1N4004 diodes
(x8) 5" rubber bands
The following parts were removed:
(x8) 5" rubber bands
Step 28: Insert Motors
Repeat for the remaining seven sets of motor assemblies.
Step 29: Slide
I later figured out that this particular assembly was not a good idea. Initially, I had assumed that the motor plates were solid enough that the two shaft collars would simply constrain them. However, it turns out the material deforms and bends given enough tension and time. So, the corners not constrained ended up deforming and getting pulled forwards. This was obviously no good.
I later decided that a better approach is to first slide on the motor plates, and then slide shaft collars onto each rod such that there is one on each corner of both motor plates.
Step 30: Constrain the Joints
The end of each wire should then be clamped with a stop sleeve, and trimmed short.
Step 31: More Shaft Collars
When all of the shaft collars are in place, slide on the octopod frames.
Step 32: Press Fit
Reposition the shaft collars such that wooden octopod bracket is sandwiched firmly between, and lock the shaft collars into place.
Step 33: Attach Cables
Pass the cable through the octopod body, and one of the rows of joint's holes.
Press the bobbin onto the motor shaft.
Finally, clamp a stop sleeve onto the other end of the cable.
Repeat the process 7 more times.
Step 34: Retract Cables
The motor will start to spin. Let it keep spinning until all of the slack has been wound tightly onto the spool, and then remove the voltage.
By hand, spin the spool back in the opposite direction to let up some of the tension.
Step 35: Legs
Press fit an end cap onto the ends of each set of rods.
Step 36: Clean Up
Step 37: Wire It Up
Step 38: H-bridges
I later decided this was a mistake, as these H-bridges were never providing enough power to the motors.
Step 39: Clean It Up
It is good to clean stuff up, but unnecessary if you are not using the H-bridges.
Step 40: Rubber Bands
Here is an example of it not working:
Rather than try to lift all of the weight and push against the forces of gravity, I decided to tension the joints and make its initial state fully bent. By changing the initial state, I have also changed the manner in which the motor needs to exert force. Rather than pull on the leg to push up against gravity, it now only needs to pull to lift the leg against gravity. In this way, the robot would only need to exceed the force of the rubber band's tension, and the leg's own weight. This is considerably easier than lifting the weight of the whole bot.
Nonetheless, initial tests of the new configuration were better, but still not very promising :
This did not seem right. For all intents and purposes, it should have worked. I concluded that the H-bridges were under-powering the motors.
I then decided to power the motor directly from the power source and cut the H-bridge out of the equation. This worked somewhat better:
From there, I decided to remove them and replace them with TIP120 transistors and 1N4004 snubber diodes.
Here is an example of the legs slowly alternating:
And by contrast, here are the legs quickly alternating:
While clearly the robot is now doing something, it is still not really doing it quite right. Lifting up one leg at a time does not create locomotion. When multiples were simultaneously lifted to create an unstable state, the robot simply sank down, and was never able to recover. Over time it found itself merely twitching on the floor.
Step 41: Getting Somewhere
Even though the first test of getting the robot to lift itself against gravity proved futile , I began to suspect that using the new TIP120 motor controls was going to work much better.
I removed the rubber bands and powered the motors directly using the TIP120 transistor. When all of the motors were engaged at once, the robot was able to lift itself off the ground:
This was promising because it demonstrated that the robot could not only lift itself, but also that the joints had enough torsion to move.
The next test I tried was to power the legs in alternating sets (two on each side). This did not go exceptionally well. The robot tended to lift itself on one side, and the torsion in the legs on the other side made them bend such that they were unable to do much of anything:
Next I decided to power the legs in sequentially in pairs. This sort of worked:
Finally, I decided to hold the robot off the ground when it first started up such that all of the legs would get tensioned. From this point, I let it try to move alternating sets of legs. This was the closest I got to getting it to walk in the manner intended:
As you can tell from the end of the video, it broke after this trial run. Having the motors pull against the rigid frame that was not moving tore apart the spindle's center hole. It was becoming clear to me that this 3D printing process was not suited to the type of robotics I had in mind and this seemed like as good of a stopping as any.
Step 42: A Note on 3D Printing
I learned that if left in a tensioned state for any length of time, the materials would crack and/or deform. This proved true for flexible joints, wire spools, motor holders, and more structural elements like end caps. While this technology allows for rapid prototyping of multi-material robotic mechanisms, it is not suited as an end-product that can withstand various forces and strains for extended periods of time.
Nonetheless, as a means of rapidly prototyping, this technology is fantastic and opens up many new design possibilities by allowing me to rapidly create complex multi-material forms. While the process may only be suited for generating robot prototypes, I could foresee taking it further by finding more permanent materials and processes.
Step 43: Future Directions
- Experiment with sealing the 3D printed material to make it more watertight. Some potential sealants include acrylic spray, silicon spray, and brushed liquid latex.
- Actuate both water treated and untreated tentacles underwater. If the materials work untreated underwater, this can potentially be very promising for underwater robotics.
- Print textured skin to cover the various actuators. This is especially the case for tentacles, which I would like to cover in rubber-like suction cups. This will also serve to constrain the 4-way actuator and keep them from over-extending and cracking.
- Print semi-rigid ligaments to add structure to the bendable hinge joint and prevent torsion.
- Add a second set of motors to control bending the limbs from side to side in addition to up and down.
- Use a motor to both push and pull the hinge joint. In this way, the motor would both wind up slack in one direction and unwind slack in the opposite. By doing this, the motor will be able to both push limbs down and lift them upwards.
- Add a positioning sensor to know where the legs are in their arc. I started experimenting with this using commercial and homemade stretch sensors without positive results. This issue needs to be resolved before moving much further in the process.
- Explore new alternative materials to quickly replicate these forms without 3D printing. Cardboard seems particularly promising because it can be both rigid and flexible depending on its configuration. It is also remarkably cheaper (if not free).
- Figure out why the H-bridges were being underpowered and see if I can make them work. If not possible, design and build alternate low-cost H-bridge boards for motor control.
- Study six-legged and eight-legged walk cycles more in-depth, and better implement them.
Of course, these ideas are just possible next steps. These are really only the tip of the iceberg and there is a ton of room to go beyond what I have shared here.
Step 44: Conclusion
Considering that I am still unsure whether this approach will yield any better results than a Simple Bot - a social agent that could be built in thirty minutes - I have decided that this approach is needlessly complex. Moving forwards in this area, I intend to take a simpler approach and focus my attention on exploring social interaction with less complicated mechanisms.
By posting my process, I hope someone else might find my research useful, or at least inspirational.
This research was made possible with the love and support of San Francisco State University Fine Arts Department, Instructables.com and Autodesk Inc. A special thanks to Carlos Castellanos for unexpectedly agreeing to advise me through this process, and Steve Delaire for helping me out with all my 3D printing woes.