Tuesday, October 17, 2017

More Ceramic Vessels Made with Robots

In an earlier post I discussed getting started making ceramic vases using a clay extruder and a robot. After those initial attempts I realized I needed to make a few improvements. This post documents the refinements I've made and shows some of the results.

The improvements I wanted to make were:
  • Extrude in a continuous helix rather than individual contours to remove the seam on the side of the vase. 
  • Get the air out of the clay. Air bubbles wreak havoc with the walls of the pot. 
  • Automatically generate the bottom of the vessel so I don't have to manually attach a base. 

Helix Extrusions

Previously I was taking horizontal sections through the 3D form and moving vertically between them. That robot motion creates an ugly seam as shown on the early test pot pictured below:

My new method generates the robot path in a single continuous motion. The process works like this... (in these diagrams the vertical distance of the helix is expanded greatly and the number of points along the helix is reduced greatly to make them more readable)

From the centerline of the vessel horizontal lines are generated starting at the bottom of the vase projecting outward. The intersection of lines and the vase surface are computed (shown as green Xs below). These are connected together in sequence (shown as a green helix).

That forms the path of the robot motion. However this example is far too course a spiral.

This shows an accurate representation of the helix. The vertical spacing is about 3mm per rotation. There are usually about 150 points along each rotation.

Air Bubble Free, Soften Clay

It was clear that a consistently softened and air free tube of clay was critical to getting acceptable results.

The clay has to be softened to work with the extruder. To get more moisture into the clay I cut it into quads, vertically.

The I put towels into the joints. Then add 15 ounces of water to the 25# bag. I let this soak in for at least two days, rotating the bag a few times so all the clay gets exposed. When done the clay is much softer and appropriate for the extruder.

Getting the Clay into the Tube via a Pugmill

A pugmill is used to unify the moisture content in clay and remove air from it. It uses a powerful motor to push the clay through a set of grates which divide the clay into thin rods. These are then pushed through a vacuum chamber. This pulls all the air bubbles out of the thinned clay tubes. The clay is then unified back into a solid mass which is extruded through the end of the mill.

Here's a view of the pugmill disassembled so you can see the auger which pushes, mixes, and compacts the clay, and the grates the clay is pushed through.

Milling the Fixture

I cut the fixture which holds the tube to the pug mill on my router. The fixture was designed by Taubman College FabLab Manager Asa Peller - thanks, Asa.

It goes together with glue and screws. It holds the tubes tightly. And the circular inlet to the tube tapers from the 3" output of the pugmill to the 2-7/8" inside of the tubes.

You can see the finished fixture in the video below.

Milling the Tubes

3D Potter sells the tubes ready to use for $56 each. I wanted 9 so that's $504. That's not acceptable. So I bought  (3) 6' clear PETG plastic tubes, 3" O.D., 2.75" I.D. Those were $188 from McMaster-Carr. I just needed to cut them to length and mill the holes.

I cut plywood supports to hold the tube at each end. There's a dowel through the middle to align them precisely. They are cut 0.01" smaller than the tube diameter.

It's a simple process to cut them on my 4-axis setup. There are 8 holes at each end of the tube, 45 degrees apart. So I helix bore in a few times at increasing depth to get a hole at one end. Move to the other end and do the same. Then rotate the tube 45 degrees. Rinse, repeat - 7 more times.

Using the Pugmill

My research assistants Yixen Xiao and Issam Bourai helped with the pugmill use. Here's a video of it doing a great job loading up air-free clay!

It took 2 hours to load 10 tubes of clay. That was actually fun:

It then took 4 hours to completely clean the pugmill. Painful, horrible job! I should have extruded 50 tubes!! Well, I'll enjoy it while I have all this clay ready to go.

The Results

After all the preparation it was time to extrude some new, improved vases! Here's a look at the motion of the robot. As you can see the extruder is fixed in space. The robot draws the helix beneath it.

Here are some pots having just finished extruding and waiting to dry out:

More Refinement Needed

Extrusion of the base layers is messed up! This is easy to clean up manually but can easily be improved. The basic problem is how evenly the extruder runs at startup. That wavy pattern you see in some pots is uneven initial clay output. I can start at the center of the pot and work outward. That'll put the uneven flow on the inside. There are two floor layers so the second one will cover up the first.

It may be time to mount the extruder on the robot and see how that can improve things. This has some potential for better adhesion from layer to layer when cantilevering.

Tuesday, September 5, 2017

Ceramic Vessels Produced with Robots

This post documents the production of ceramic vessels using a clay extruder and a Kuka industrial robot at Taubman College.


For a few years I've seen various 3D printers that used clay as the build medium. As someone who works with ceramics (doing clay figure sculpture, throwing pots, and slip casting) this has been of interest to me. I finally got around to trying it in the summer of 2017.

Linear Extruder Tool

The tool I used which does the clay extrusion is sold by 3D Potter. It's their 2000ml model.
I bought it without any electronic controller as I wanted to build that myself. This would allow me to eventually have it directly controllable via Grasshopper and/or the robot Programmable Logic Controller (PLC).

It comes with a stepper motor, a gear box to convert the rotary motion into linear motion, a plunger and gasket to seal against the two supplied 3" diameter by 23" long tubes.

It also comes with a set of nozzles which vary in diameter from 1/4" to about 1/16".

Here are some videos provided by the manufacturer which are useful as reference:

Extruder Electronics

A few factors governing the electronics I choose:
  1. I wanted a touch screen interface to easily control the extruding mode and speed. 
  2. I needed to limit the current drawn by the motor to less than 3 amps. 
  3. I wanted it controllable via an Arduino microcontroller so I could write the code myself. 
Here are the various parts as I was testing the programming: 

Touch Screen

I used one from an Australian company 4D Systems. These are nice because they only use a single pin on the Arduino and the interaction processing is handled on the display not on the Arduino. There's also a user interface builder program that's pretty easy to use to create the interaction. Here's a good overview of the coding process.

Motor Controller

Allowing the extruder motor to draw too much current allows it to push too hard. This can bend the ball screw. So a motor controller is used to limit the current. I choose this one, mainly based on its super-cool name: MYSWEETY TB6600 4A 9-42V Stepper Motor Driver

The power supply/transformer I used was this one: Minger Power Supply 24V 6A Power Adapter Transformer


The extruder ships with a Chinese stepper motor (NEMA 23). The stepper motor data sheet is here. The key properties are below:
  • Model No.: JK57HS56-2804
  • Step Angle: 1.8
  • Current per Phase: 2.8
  • Resistance per Phase: 0.9
  • Inductance per Phase: 2.5
  • Holding Torque: 1.26
  • Detent Torque: 350
The motor is programmed using the AccelStepper Library from AirSpayce. This is a simple programming interface for stepper motors which supports accelerating and decelerating as the motion starts, stops, and changes speed.  It's easy to use, it works, and it's free.

Here's the first test of extruding clay:

Fixture Construction 

I needed to design and build a fixture to hold the extruder. Here's the 3D model. My, my that's high up in the air! That's due to robot axis limits - I want to print some tall objects and it's easier for the robot to reach up high rather than move around down low.

The fixture was made of (2) 8' 2x6 Poplar boards and some 1/2" Birch plywood. An exercise in good old-fashioned conventional, power and hand tool woodworking (which actually felt really good)! I still enjoy doing things with a table saw, chop saw, plunge router, as well as chisels and planes.

Basic half-lap joint for the base with the grooves for the plywood which brace the column.

Mortise and tenon joint on the horizontal member at the top:

Four of these parts cut from scrap Baltic Birch plywood hold the extruder to the fixture. They get flipped over and glue on top of one another. The pockets (partial depths cuts) are for screw holes and a gasket. Looking at this picture the question is... where's the lead-in/lead-out on the second contour? Careless toolpath programming!

Here they are installed. A rubber gasket inside provides a secure grip to the tube.

Here you can see the plate secured to the robot. On top of that is a piece of Melamine which can be easily lifted off the robot to support the object as it dries.

The robot moves beneath the tool - the extruder never moves laterally or vertically:


The robot code was developed with Rhino, Grasshopper, and Kuka|prc. You can see the overall complexity below - super simple!

The steps are:
  1. Convert the 3D model to print to a mesh because that contours much more reliably. 
  2. Contour (section) the mesh model. These are the curves the extruder follows. 
  3. Reverse the vertical direction so printing happens bottom to top.
  4. Divide each contour into points for the robot to move to.
  5. Move the robot to each point.
The controls are easy enough. Assign the object to print, indicate the coordinate of where the extruder is relative to the robot base (which you measure with the robot itself), and choose the thickness of the layers and the number of divisions of each layer. You can also vary the robot speed. It typically moves in the range of 10-20mm/sec.

The robot code generation is super simple, as usual with Kuka|prc. You specify the points to move to, the orientation of the tool, and which robot to use.

The simulation shows the process. The fixture holds the extruder in place - it never moves. The robot provides all the motion. It starts at the bottom of the pot and adds layers to get to the top. It looks upside down in the simulation but because it prints from top to bottom on the platter the result is right-side up.

Here's a video simulation of the robot motion:

Ceramic Material

The material that's extruded is a softened version of this stoneware from Rovin Ceramics (a local supplier where I live in Ann Arbor, Michigan). It's a low grog, cone 6 clay body:

To soften it I added 15 ounces of water to the 25# bag of clay. I slice the clay vertically into quarters, put in micro-fiber towels in the gaps, and add water. Once the water has absorbed (over the course of 1 or 2 days) it's ready to be loaded into the extruder cylinder.

The softening of the clay works well. Loading it into the cylinders is a messy, inelegant and unpleasant task! As shown in the video earlier the nice way to do it is using a pugmill. As of yet I don't have that set up.

First Tests

The first thing I made for testing was a coil pot cylinder. I think I made one of these in first grade although my school at the time didn't have a robot and I was forced to do it by hand! Fortunately my school today has one.

The coil diameter is 6mm. There's a vertical step up of the robot from layer to layer of 5mm. The speed of the robot was 20mm/second. The speed of the extruder was about 800 steps per second. All those factors need to be coordinated.

Here's what it looks like if you extrude too fast, or move too slow. Doh! Except that's actually pretty cool - I should make a pot like that.

Next up was a simple twisting, triangular form. I wasn't sure how well the cantilevering of layer to layer would work. Would it just squish and topple over? Somewhat surprisingly it worked quite well. I think that the continuity of the clay extrusion helps it maintain structural integrity. The adhesion from layer to layer is also quite good right away. The softened, damp clay helps in this regard.

Another test form... this one starts with a hexagon base and gradually twists upward and tapers outward:

Here's a video of the extruder with the robot in motion:

The layers of clay are generally uniform and consistent in width. Where you do see some variation is at the corners - there you can see the clay gets a bit thicker. This is because the robot is slowing down as it approaches the corner so it can reach the corner position accurately. There's a setting in the robot programming to let you introduce less positional accuracy but more speed consistency (the C_DIS value). In this test the setting was 1mm. That means when the robot gets within 1mm of the desired position it moves on without having to get there exactly. This allows it to hold its speed better. More experimentation is needed with this setting to balance the two concerns.

An interesting issue is how to handle the seam - that is the point on the form where the robot moves vertically to step up to the next level. Here you can see that seam on the outside of the vase - not very attractive!

One solution is to put the lift on a cusp or change in direction of the form. In this way the seam appears more integrated with the form. On a smooth form though that's not possible.

Forms To Make

Here are some forms I designed while waiting for all the hardware and software to come together. Some of these I think will be too complex to look right given the resolution of the extruder. But there's only one way to find out...


It was fun getting this going. Stay tuned for production of many more pots and significant refinement to the process!

Tuesday, August 15, 2017

Portrait Sculpt

Finished up a new portrait sculpture:

ZBrush Sculpt

Here are some screen captures of the 3D model - five and a half million polygons. This was seven three hour sessions with the model.

The usual process... merge all the subtools into one, Dynamesh at high resolution to get a single unified mesh, iterate through various mesh editing operations to fix issues, run Decimation Master to reduce the complexity to 300K polygons, import into Rhino for verification and preparation for the printer and router! That's usually about 1/2 hour to 1 hour of effort.

3D Printing

Off to the 3D printer at Taubman College for verification. The printer used was a Stratasys uPrint.

Right out of the printer, still on the printer bed. You can see the support material. Visualize this being build from the bottom up. Anywhere the form is cantilevered too far out it needs support. So under the chin, under the ears, under the nose and eye, etc.


Using a dull knife pry tool I broke this off with no effect on the final print.

Almost done, still some between the neck and pony tail:

An earlier print failed and the power cycled so it could not be restarted. This provides an interesting opportunity to look inside the print to see the internal structure:

The finished print mounted on a Poplar base. One coat of wipe-on polyurethane, one coat of stain, another coat of poly, another coat of stain.