week 17

Wildcard Week

Design and produce something with a digital process (incorporating computer-aided design and manufacturing) not covered in another assignment, documenting the requirements that your assignment meets, and including everything necessary to reproduce it

Assignment

This week, I visited the FabLab at the University of Seville, which is located in a former gymnasium—an ex-polideportivo—so the space was very large. Many things caught my attention; here are a few examples:

  • A mobile robotic arm
  • Numerous 3D printers
  • Two CNC machines
  • A spacious classroom
  • A thermoforming machine
  • A DIY vibrating table
  • Heat press machine

The entire space was clean and well-organized, with everything in its proper place.

Here are some images from the visit:

I found the robotic arm to be the most interesting element of the visit. To complete the assignment on this page, I decided to document the process of 3D printing with clay using this robotic system. The FabLab staff kindly provided detailed information on how to carry out the entire process.

This document provides a full guide to setting up a 3D printing system with clay using an ABB IRB4600 robotic arm and a WASP XL 3.0 extruder. The workflow is intended to be replicable in any FabLab or digital fabrication environment and includes installation, configuration, simulation, and preparation for real-world operation.

1.SYSTEM OVERVIEW

The clay 3D printing setup consists of:

Robot: ABB IRB4600 (60 kg payload, 6-axis)

Extruder: WASP XL 3.0 (8 mm nozzle)

Clay tank: Pressure system capable of 8 bar

Controller: ABB IRC5

Electronics: Arduino Uno (for extruder control)

PC Software: Rhino 7 + Grasshopper, ABB RobotStudio

Materials: Ceramic clay with extrusion-compatible consistency

2. Hardware and connections

Mount the robotic arm securely on a working surface or rail if needed.

Install the WASP XL 3.0 extruder on the flange of the IRB4600’s wrist (Axis 6).

Connect the extruder motor driver to an Arduino Uno.

Connect the Arduino Uno to the PC via USB.

Connect the clay tank to the extruder and apply controlled air pressure (e.g., 8 bar).

Ensure physical connections between:

PC → IRC5 controller (Ethernet)

IRC5 → robot arm

PC → Arduino Uno

3. SOFTWARE INSTALLATION

Required Software:

ABB RobotStudio

RobotStudio

Include RobotWare (6.13 or later for IRC5)

Rhinoceros 7 + Grasshopper

Request academic or trial license as needed

Python + Anaconda (optional)

Anaconda

Python

COMPAS Framework (optional, for advanced workflows)

https://gramaziokohler.github.io/compas_fab/latest

Visual Studio Code (optional)

https://code.visualstudio.com

Docker Desktop (optional for ROS integration)

https://www.docker.com/products/docker-desktop

4. SETTING UP THE ROBOTIC SYSTEM

4.1 Creating a Virtual Controller in RobotStudio

Launch RobotStudio > Create New Station

Add Controller > Create Virtual Controller

Choose robot: IRB4600-60/2.05

Select compatible RobotWare (e.g., 6.13)

4.2 Define Tool and WorkObject

Modeling > Tool > Create Tool (custom dimensions or default)

Modeling > WorkObject > Create to define the printing surface

4.3 Basic RAPID Code for Motion

RAPID
PROC main()
    MoveJ [[500,0,500],[1,0,0,0]]\V100\Z10\Tool0;
    MoveL [[700,100,400],[1,0,0,0]]\V50\Z10\Tool0;
    MoveL [[900,-200,300],[1,0,0,0]]\V50\Z10\Tool0;
ENDPROC

5. RHINO + GRASSHOPPER SETUP

5.1 Trajectory Generation

Open Rhino 7 and launch Grasshopper

Design geometry to be printed (e.g., vases, architectural walls)

Use sliders to define layer height and thickness

Export trajectory points per layer (as point lists or polylines)

5.2 Extruder Control Logic (Optional via Arduino)

Connect Arduino to extruder motor driver

Use G-code-like serial communication to toggle motor ON/OFF based on path execution

Upload a simple sketch to Arduino that listens to commands from PC

6. SYNCHRONIZING MOTION AND EXTRUSION

You must coordinate robot motion and clay extrusion:

In RAPID or via Python scripts, activate extruder when entering a layer path

Deactivate extruder when transitioning between layers

Use signals or delays to handle synchronization properly

7. EXECUTING A FULL SIMULATION

Open RobotStudio and load your custom station with IRB4600

Paste RAPID path commands generated from Rhino/Grasshopper or manually

Simulate motion and tool paths without physical extrusion

Review clearance, orientation, path speed, and transitions

8. PREPARING FOR REAL-WORLD EXECUTION

Switch RobotStudio to real robot controller (replace host.docker.internal with the IRC5 IP)

Connect PC and IRC5 via Ethernet

Upload RAPID code to the real controller

Use FlexPendant to start the routine in AUTO mode

Ensure clay tank is filled and air pressure is active

Monitor extrusion and path execution in real time

9. NOTES & TROUBLESHOOTING

Use Z1 precision for smooth transitions

Use rrc.Motion.JOINT to position at initial point, then switch to rrc.Motion.LINEAR

Avoid FINE unless needed (it causes the robot to stop momentarily)

If simulation fails, check for:

Wrong coordinate syntax

Incorrect RobotWare version

Disabled virtual controller

CONCLUSION

This document serves as a comprehensive and open-access workflow for clay 3D printing using the ABB IRB4600 robotic arm. It enables digital fabrication labs to replicate the setup without reliance on proprietary repositories or restricted file systems. The integration of Rhino, Grasshopper, RobotStudio, and optionally Arduino or Python creates a robust platform for advanced prototyping with clay and similar materials.

Documentation