loading
Picture of Geoweaver: A Walking 3D Printer Hexapod
IMG_2822.jpg
IMG_2859.jpg
IMG_2892.jpg
IMG_2811.jpg

Geoweaver is a student designed (team members Jia Wu, Mary Sek, and Jeff Maeshiro) robot created in the Creative Architecture Machines advanced options studio at the California College of the Arts (CCA) in San Francisco, California, taught by Jason Kelly Johnson of Future Cities Lab and Michael Shiloh. The design is based on a 12-servo hexapod with a glue gun extruder attached, is the culmination of about 60 days of research and prototyping, and, as far as we can Google, is the world's first walking 3D printer. Although the robot's official name is Geoweaver, it also goes by many aliases: Servo Killer, Eater of Shields, Melter of Wires, and Destroyer of Regulators, among many others. It is a very difficult and delicate machine, and is not a project to be tackled for the faint of heart.

But if you do take it upon yourself to accept it's challenges, it's rewards are great: it is a six-legged, walking 3D printer. The center mechanism uses two servos to control the pendulum-like extruder head, allowing it to cover a basic XY plane (though curved to the surface of a sphere, see video above), and one servo for the extrusion gear that forces the glue-sticks through the "print head." All of this can be controlled through the software Rhino 5, with the plug-ins Grasshopper and Firefly (developed by our professor Jason).

First, we must mention an Instructable that aided us at the start of our prototyping, the Hot Glue Gun Extruder for Your CNC Machine or 3D Printer project. It gave us a great starting point for our print head and we were grateful for the leg-up. Second, we utilized this tutorial to figure out how to do spirals in Grasshopper, though the spirals we made came out pretty intense.

Third, here is a video of the 62 day development process with different material tests and trial robot versions.


Lastly, this project was devilishly and deviously difficult and would not have been possible without our professor Jason Kelly Johnson's guidance (even writing a custom Arduino-to-Firefly firmata for us to be able to use the servo shield, see Step 8). And of course our other professor Michael Shiloh's sure-handed advice, most especially with the wheeled toes, a pretty nifty bit of mechanical innovation, if we are permitted to say so. Thanks also to Andrew Maxwell-Parish of CCA's Hybrid Lab (and Instructables Artist In Residence ElectricSlim), your help with our projects was matched only by your enthusiasm for all of them. We are grateful to all three of you for your invaluable help.

Anyway, let's get Instructablesing.

Required Items (tools):

  • Vertical band saw
  • Phillips/flathead screwdriver in multiple sizes
  • Power drill and drill bits
  • Wire cutters
  • Needle nose pliers
  • Measuring instruments, ruler or vastly preferably calipers
  • Laser cutter
  • 3D printer

Materials:

  • 15 high torque servos (complete with the "+" shaped servo horns and servo center screws that should come with the kit
    Bolts and locknuts (about 48 of them), or whatever bolts fit through your servo flange holes (the side holes). At least 3/8'' long (enough for the 1/4'' plastic or Al and a locknut to fit on there)
  • 1/8” at 24” x 48” sheet of plywood (for legs/center mechanism)
  • 1/4” at 24” x 48” sheet of plywood (for body)
  • 2 bags of hot glue
  • 1/8” at 11” x 17” sheet of acrylic (for extruder)
  • 3 bags of 100ct mini zip ties
  • Small gauge wire
  • Dowels
  • 6 rubber sink washers

Required items (electronics):

  • Arduino Uno
  • Servo shield
  • Computer
  • Male headers
  • Jumper wires (or single core wire suitable for breadboards)
  • Servo extension cables

Required items (programs):

  • Rhino 5
  • Grasshopper plugin (for Rhino 5)
  • Firefly plugin (for Grasshoppper)
  • Arduino
 
Remove these adsRemove these ads by Signing Up

Step 1: Laser Cut/3D Print Parts

Picture of Laser Cut/3D Print Parts
finalLayout-13.jpg
3DPrint_toe.jpg
3DPrint_tail.jpg
laserCut.jpg
Laser cut all of the parts out. There is one file, the thickess of material or type is up to you. We used 1/8" plywood, but 1/16" plywood or 1/16" acrylic is fine too.

*Keep your pieces organized and labeled, this makes it much easier to work. You will need a screwdriver, screws, drill, drill bits, zip ties, tape, sharpie, and nuts/bolts.
*Print or cut out a few extra pieces, they come in handy when one breaks or if you need a stand in piece

Next, 3D print the toes and tail. We used a Type A Next Generation Series 1, printing PLA with a 10% fill (to keep them light).

tail.stl

toe.stl

toe.stl212 KB

Step 2: Building the Hip Segment of the Leg

Picture of Building the Hip Segment of the Leg
5.jpg
leg.jpg
Next are the legs. We have attached our DXF template in step 1 if you want to use our design.

We found that the mechanics alongside the ratio of the pieces are imperative for the hexapod to walk smoothly (not to mention the code), but first you must stabilize the mechanics of the hexapod.

This includes figuring out the encasement's for the each of the motors and their connections to each other. You want the hexapod to be both stable and light.

Also, take into account using slotted or dovetail connections with adjacent slots for quick zip tie connections and use the same dimensions on other parts so you can mix and match if need be. It makes construction fast and secure. Also, take into account the position of the servo. You want to create an environment where there is least torque for the motor, which could mean flipping the servos around, and MAKE SURE that joints are centered with the body of the hexapod. Any offset awkward pieces can affect the code and how the hexapod walks.

If you are using our design and have printed out the parts, use:
L.a (2)
E.i (2)
L.b

and fasten together with zip ties. Make sure that you secure a nut underneath the servo to attach to the body.

*Attach all horns onto servos and label each hip and knee. Preferably, the hips will all be one color tape with annotations, and the knee would be the other color with annotations.
* DO NOT restrict the servo by screwing in the center to any piece until servo is zeroed or calibrated. This could strip the servo, causing it to no longer work.

Step 3: Building the Knee Segment of the Leg

Picture of Building the Knee Segment of the Leg
leg_left.jpg
leg_right.jpg
leg_bottom.jpg
After the hip segment is put together, the next step is to put together the connecting knee segment. For this part, you will need:
L.e
L.c
L.d
E.i (2)
L.f
L.g (2)
L.k,
L.j.

Fasten parts together with zip ties and then secure hip segment to the knee segment, do this for the six legs.

Step 4: Building the Body

Picture of Building the Body
9.jpg
The body has been designed as a circle and thus the legs are positioned radially around it. This forces the walk algorithms to take this into account. More accurate walk patterns can be had with a parallel leg system but we chose radial after many trials, finding that it's versatility was a great asset in different walk types.

Simply laser cut the pieces from the laser cut file. For this step, you will needs parts:
L.i (6)
L.j (6)

* Note that when using slotted or dovetail connections; make either the male or female end a bit smaller for a snug connection.

Once all the legs are put together, labeled, and zeroed, attached them to the body of the hexapod. You can also attach everything and leave the center servo detached prior to zeroing them. Attach all the pieces together minus the top, then attach the legs. Once the legs are all attached, place the top piece on and secure with zip ties.

Step 5: Building the Center Segment for the Extruder

Picture of Building the Center Segment for the Extruder
7.tiff
At this point, the majority of Geoweaver should be put together, so the next step is to attach the center component for the extruder head to attach to. For this step, you will need:

E.a
E.b
E.c (2)
E.d (3)
E.e
E.p
E.i (4)
E.j (2)
E.g
E.l
E.h
E.k
E.o
E.n (2)

The final piece to this segment is the dowel. We used a dowel that was 3/8," but you can use whatever thickness you like.

Step 6: Extruder Head

Picture of Extruder Head
2222.jpg
P1020503.jpg
P1020672.JPG
finalLayout-4.jpg
The first step to building the extruder is to make sure your motor works, whether it is a stepper or a continuous high torque motor. Also, make sure everything is a tight fit, you will need gluesticks handy because you will be doing numerous testings throughout the process.

Required items (hardware):
  • 3/8" Plywood (~6.5" x 4.5")
  • 1 High torque servo (complete with the "+" shaped servo horns and servo center screws that should come with the kit)
  • Large plastic gear with teeth that fit your Servo Motor
  • 4 Metal Bearings (15mm outside and 6 mm inside)
  • 9 to 10 - #8 1.5" Bolts and/or #6 Bolts
  • #8/#6 Washers (we used about 20 in this design)
  • #8/#6 Lock Washers (I used 2)
  • #8/#6 Nuts (8 to 10 used)
  • #6 0.5" Screws (we used 4)
  • Metal L Bracket 1.5" x 1.5" with 2 holes in each side
  • Slotted Metal Bracket ~2" Long (slot needs to be able to fit #6 or #8 screws)
  • Mini Hot Glue Gun - Low Temperature
  • Mini Hot Glue Sticks - Low Temperature
  • Small Zip Ties
  • Small piece of ⅛” acryllic

First laser cut all parts in the attached DXF file. Arrange all pieces but do not screw them together yet.

Step 7: Attach Glue Gun Internals

Picture of Attach Glue Gun Internals
extruderHead.jpg
IMG_2682.jpg
After all the components are in place, the next step is to attach the hot glue gun internal. Take a low temperature glue gun and remove all the screws to extract the main heating components. Then attach glue gun head to the previously put-together extruder parts. You are now ready to screw everything into place.

*The screws cannot be too tight or the movement of the glue sticks.

Step 8: Firefly Control Panel

Picture of Firefly Control Panel
finalLayout-2.jpg
finalLayout-6.jpg
finalLayout-7.jpg
The most difficult part of the project is how to control Geoweaver while walking and printing. We spent a lot of time on the motion research, and so far Geoweaver can walk in a straight line, a curved line, rotate, dance, and print while walking. This hexapod has been designed to be controlled by an Arduino Uno taking commands directly from Firefly, a plug-in for the CAD software Rhinoceros 3D. Firefly was created by our professor, Jason Kelly Johnson. Rhino is $995, however you can download a trial version of it here. The Rhino plug-ins Grasshopper 3D and Firefly are free and run perfectly fine on the trial version so you can operate Geoweaver without purchasing the full Rhino. First and foremost is a custom-made Firefly firmata for Arduino written by Jason, which should be uploaded to the Arduino. This allows it to receive messages from Firefly.

Once in Grasshopper, the controls are color coded: purple is for Geoweaver's dimensions, white is for the walk commands, yellow is for the Arduino control components, and blue is for the print commands. Make sure that the Arudino port number is correct. The walk commands utilize Firefly's "Counter" component to feed numbers into the legs. One of the initially confusing parts may be that in order to "turn on" the walk algorithm you must set the "Run walk/rotate" boolean toggle to False, not True. Included in the file is an animated version of Geoweaver which allows you to simulate and test movement patterns before you attempt to start running servos with it.

Step 9: Tricks

Picture of Tricks
973_MED.jpg
Trick 1: Zip tie connections with the rabbet in plywood, pre-cut holes and use zip ties to connec. Making the plywood connection strong is imperative when you need the robot to walk.

Trick 2: Buy servo extension cables. Extensions can help you connect the cables to the servo easier and helps make things more organized which is very important for a project which uses 15 servos.

Trick 3: Each servo performs differently which will affect the robot's overall performance. You can use Grasshopper to remap when calibrating each servo.


Step 10: Printed Objects

Picture of Printed Objects
IMG_2760.jpg
IMG_2842.jpg
P1020647.jpg
Samples of printed objects from Geoweaver. We hope you give it a try and please let us know of any suggestions or improvements. Thank you.
nuelma2 months ago

so nice

besttails1 year ago

This is incredibly inspirational. Thanks!

ground up1 year ago
Does it really need to walk? Wouldn't it be easier to have treads or something.
msophalsek (author)  ground up1 year ago
Yes, the concept is explore walking and printing at the sametime then we can print a large object by a small robot.
I guess I'm not as bright as you folks because I don't get what it will be used for. I know it must of took a lot of effort I just can't wrap my brain around what it would be used for.
msophalsek (author)  definitelyjulia1 year ago
thanks for the comment,That is ture, it is hard to tell what is used for now, and many people said it looks like a toy :(
Yes, as our second robot project, a walking, printing concept is too ambitious, we did see many potential(maybe too many), but didn't make it supper clear and perfect, and I think in this time, we more concern how to control a hexapod walk, we can control all this movement through 3d design programs such as Rhino and grasshoper!(we are all architecture students). the big idea is in the furture robot can build in the real world what desiner drew in the computer... and we did make it walk more and more precise in a flat surface, it can walk flow a straight line or a curve line, or rotate, and printing in the sametime. but we also hope it can walking in different topograph, so we built a base for testing which can show in the photo, and the topo make the control imprecise, we didn't have a solution so far, but we still want to show this potential and imprecise to people, because this is the point for using six legs... maybe this imprecise print in the weird base confuse you.
and agree with Schumi23, the extruder can be improved, maybe a 3 axis arm, and use PLA instead of glue...always close to the ground...ah...a lot of work to do! always! :)
Without constraints of a fixed size build platform, doesn't this approach allow for a large build size from a small printer? From my perspective, one of the biggest constraints of cheap 3d printers is size. This approach has potential to over come this, but I imagine some programming challenges to overcome if the hexapod has to climb over the object it is building, but definitely achievable.
True. As it is now, the first implementation, it isn't much use. But think of it's potential. It's proof that a mobile 3D printer could function. Imagine someone else perfecting the extruder, making it closer to the ground - switching glue for filament. Making it more precise.
True. It's not perfect. But it can become amazing.
This is a really cool concept. I can imagine something like this being used to add 3D printed parts onto something, Sometimes you need a fairly large low detail object with a few complex parts. If it could crawl over an object, spray down some glue and print on it you could make all kinds of things. For example, you could make pin lugs onto the end of wood beams.
benwade1 year ago
02170
Dark Solar1 year ago
neat idea although i'm a bit leery of having a robot creeping around my house pooping out thermoplastic
J-Five1 year ago
Look's like an UFO!!
extraordinary, scale it down enough and wait for grey goo...
schumi231 year ago
This is great. (As I answered to definitelyjulia) - I can't wait to see what people do with your design.
I could see a version of this used in agriculture for weed and pest control.
wnq1 year ago
amaze!
ashtonias1 year ago
This just makes me think of stargate and replicators...
Cool! Didn't even know about this, guess we'll have to start working on the human version next.
Great work guys - I am super proud! Thanks, Jason