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
Include RobotWare (6.13 or later for IRC5)
Rhinoceros 7 + Grasshopper
Request academic or trial license as needed
Python + Anaconda (optional)
COMPAS Framework (optional, for advanced workflows)
https://gramaziokohler.github.io/compas_fab/latest
Visual Studio Code (optional)
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
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.