COMPAS II
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.
Schedule, FS 2022
Lecture | Date | Session content | Session leads |
---|---|---|---|
01 | 23.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 | 02.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, GC) |
03 | 09.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, GC) |
04 | 16.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, cartesian and kinematic planning. MoveIt integration from the parametric design environment. Assignment: Planning with MoveIt πGo to lecture |
GKR (RR, GC) |
05 | 30.03. | Path planning Cartesian and kinematic path planning using MoveIt. Planning scene operations. End effectors and discrete build elements. πGo to lecture |
GKR (RR, GC) |
06 | 06.04. | Assembly of discrete elements I Brief introduction to directed acyclic graphs. Modelling assembly processes as DAGs. Reachability Maps. πGo to lecture |
GKR (RR, GC) |
07 | 13.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, GC) |
08 | 27.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, GC) |
09 | 04.05. | Assembly of discrete elements III Continued applied exercise from planning data to robot control for an assembly of discrete elements. |
GKR (RR, GC) |
10 | 11.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 | 18.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 | 25.05. | Recap: Design to Fabrication Workflows πGo to lecture |
GKR (RR, GC) |
13 | 01.06. | Advancing computational research Research reproducibility and Upstreaming research output. πGo to lecture |
GKR (RR, GC) |
Information
Links: Course info on ETHZ Catalog | Slack workspace | COMPAS docs
Objectives
- 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.
Content
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.).
Requirements
- Minimum OS: Windows 10 Pro or Mac OS Sierra 10.12
- Anaconda 3
- Docker Desktop 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
Installation
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
(base) conda env create -f https://dfab.link/fs2022.yml
Add to Rhino
(base) conda activate fs2022
(fs2022) python -m compas_rhino.install -v 7.0
Get the workshop files
(fs2022) cd Documents
(fs2022) git clone https://github.com/compas-teaching/COMPAS-II-FS2022
Verify installation
(fs2022) python -m compas
Yay! COMPAS is installed correctly!
COMPAS: 1.14.1
Python: 3.8.10 | packaged by conda-forge | (default, May 11 2021, 06:25:23) [MSC v.1916 64 bit (AMD64)]
Extensions: ['compas-fab', 'compas-cgal', 'compas-rrc', 'compas-slicer']
Update installation
To update your environment:
(fs2022) conda env update -f https://dfab.link/fs2022.yml