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!