064-0026-00L Introduction to Computational Methods for Digital Fabrication in Architecture
This PhD-level course introduces digital fabrication methods and tools building up on the theoretical and practical knowledge acquired in the prerequisite course. Students learn fundamentals of robotics, robot kinematics and planning, and basics of robot control applied in the domain of architecture and digital fabrication using the COMPAS framework and open source tools.
Lecture | Date | Session content | Session leads |
---|---|---|---|
01 | 24.02. | Introduction Introduction to digital fabrication methods and the COMPAS ecosystem for digital fabrication: core, fab, rrc, slicer. Brief overview of core data structures (network, mesh). Remote procedure calls. ๐Go to lecture |
All |
02 | 03.03. | Robotic fundamentals Introduction to robotics: anatomy of an industrial robot, coordinate systems, transformations. Brief intro to kinematic functions and path planning. ๐Go to lecture |
GKR (RR, BL, GC) |
03 | 10.03. | Robot models Models from URDF, programmatic models. Robot model visualization in Rhino / Grasshopper. Forward kinematics of open chain manipulators. Assignment: model your own robot. ๐Go to lecture |
GKR (RR, BL, GC) |
04 | 17.03. | ROS & MoveIt in the design environment Introduction to ROS, topics, services, actions. Basic interprocess communication via ROS nodes. Reproducible ROS environments with Docker. Robot planning: forward and inverse kinematic functions, analytical (closed-form) and numerical solvers. MoveIt integration from the parametric design environment. Assignment: IK with MoveIt ๐Go to lecture |
GKR (RR, BL, GC) |
05 | 31.03. | Path planning Cartesian and kinematic path planning using MoveIt. Planning scene operations. End effectors and discrete build elements. ๐Go to lecture |
GKR (RR, BL, GC) |
06 | 14.04. | Assembly of discrete elements I Brief introduction to directed acyclic graphs. Modelling assembly processes as DAGs. Planning pick-and-place operations. ๐Go to lecture |
GKR (RR, BL, GC) |
07 | 21.04. | Assembly of discrete elements II Applied exercise from design to planning fabrication for an assembly of discrete elements and preparation for control exercise. ๐Go to lecture |
GKR (RR, BL, GC) |
08 | 28.04. | Robot control with COMPAS RRC Online non-real time control of industrial robots. Components of an RRC deployment. Communication primitives (blocking, futures, cyclic). Instructions. Multi controller & location coordination. ๐Go to lecture |
GKR (RR, BL, GC) |
09 | 05.05. | Assembly of discrete elements III Continued applied exercise from planning data to robot control for an assembly of discrete elements. ๐Go to lecture |
GKR (RR, BL, GC) |
10 | 12.05. | COMPAS SLICER: Basics Introduction to COMPAS SLICER (presentation). Planar slicing of simple geometry Introducion to scalar field slicing. ๐Go to lecture |
DBT & GKR (IM, JB) |
11 | 19.05. | COMPAS SLICER: Advanced Introduction to non-planar slicing. Non-planar slicing of a geometry. Simulation and planning of robotic motion with COMPAS RRC. ๐Go to lecture |
DBT & GKR (IM, JB) |
12 | 26.05. | Advancing computational research Research reproducibility and Upstreaming research output. ๐Go to lecture |
GKR (RR, BL, GC) |
13 | 02.06. | Closing | All |
Links: Course info on ETHZ Catalog | Slack workspace | COMPAS docs
- Understand fundamentals of robotics, coordinate systems, transformations and orientation representations.
- Learn forward and inverse kinematic functions and their application.
- Learn Cartesian and kinematic robot planning methods
- Apply these concepts to design and implement digital fabrication processes.
- Gain an understanding of different robot control methods and their application.
- Learn how to generate fabrication data for a (robotic) 3D printing process using a custom slicing method.
Lectures, tutorials and project-based exercises will focus on:
- Introduction to fundamentals of robotics.
- Introduction to COMPAS framework and core extensions for digital fabrication (fab, rrc, slicer)
- Robot model representations.
- Robot forward and inverse kinematics.
- Robot path planning: Cartesian motion planning and kinematic motion planning, planning scene and collision detection.
- Integration of planning tools into parametric design environment (CAD).
- Overview and usage of ROS (Robot Operating System).
- Design of digital fabrication processes (assembly of discrete elements, 3D printing, etc.).
- Minimum OS: Windows 10 Pro or Mac OS Sierra 10.12
- Anaconda 3
- Docker Desktop Docker Toolbox would also work but it's a bit more annoying. After installation on Windows, it is required to enable "Virtualization" on the BIOS of the computer.
- Rhino 6/7 & Grasshopper
- Visual Studio Code: Any python editor works, but we recommend VS Code + extensions as mentioned in our docs
We use conda
to make sure we have clean, isolated environment for dependencies.
First time using conda
? Make sure you run this at least once:
(base) conda config --add channels conda-forge
Clone this repository and create a new conda environment:
(base) cd path/to/COMPAS-II-FS2021
(base) conda env create -f environment.yml
(base) conda activate compas-fs2021
Alternatively, create environment manually
The conda environment can also be manually created:
(base) conda create -n compas-fs2021 python=3.8 compas_fab>=0.16 --yes
(base) conda activate compas-fs2021
Mac
Also install python.app
after activating the environment:
(compas-fs2021) conda install python.app
(compas-fs2021) python -m compas
Yay! COMPAS is installed correctly!
COMPAS: 1.1.0
Python: 3.8.8 | packaged by conda-forge | (default, Feb 20 2021, 15:50:08) [MSC v.1916 64 bit (AMD64)]
Extensions: ['compas-cgal', 'compas-fab', 'compas-slicer']
(compas-fs2021) python -m compas_rhino.install
(compas-fs2021) python -m compas_rhino.install -v 7.0
To update your environment:
(compas-fs2021) conda env update -f environment.yml