/COMPAS-II-FS2023

Primary LanguagePythonMIT LicenseMIT

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 2023

Lecture Date Session content Session leads
01 20.02. Introduction
Introduction to digital fabrication methods and the COMPAS ecosystem for digital fabrication: core, fab, rrc, slicer.
Brief overview of geometry kernel and core data structures (network, mesh).
Remote procedure calls.
👉 Go to lecture
All
02 27.02. Robotic fundamentals
Introduction to robotics: anatomy of an industrial robot, coordinate systems, transformations.
Kinematic functions and path planning.
👉 Go to lecture
GKR (GC)
03 06.03. Robot models
URDF and programmatic API.
Robot model visualization in Rhino / Grasshopper.
Forward kinematics of open chain manipulators.
Assignment: model your own robot.
👉 Go to lecture
GKR (GC)
04 13.03. Path planning with ROS & MoveIt in the design environment
Introduction to ROS, topics, services, actions. Basic interprocess communication via ROS nodes.
Robot planning: forward and inverse kinematic functions, cartesian and kinematic planning.
Planning scene operations. End effectors and discrete build elements.
👉 Go to lecture
GKR (GC)
05 27.03. 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 (GC)
06 03.04. Assembly of discrete elements I
Brief introduction to directed acyclic graphs. Modelling assembly processes as DAGs. Designing an assembly for fabrication.
👉 Go to lecture
GKR (GC)
07 24.04. Assembly of discrete elements II
Applied exercise from design to planning fabrication for an assembly of discrete elements
👉 Go to lecture
GKR (GC)
08 08.05. Assembly of discrete elements III
Continued applied exercise from planning data to robot control for an assembly of discrete elements.
GKR (GC)
09 15.05. COMPAS SLICER
Introduction to COMPAS SLICER.
Planar and non-planar slicing of simple geometry
Introducion to scalar field slicing
Customizing compas_slicer functions
DBT (IM)
10 22.05. Advancing computational research
👉 Go to lecture
GKR (GC)

Information

Links: Course info on ETHZ Catalog | Slack workspace | COMPAS docs | Miro board

COMPAS II course

Objectives

  1. Understand fundamentals of robotics, coordinate systems, transformations and orientation representations.
  2. Learn forward and inverse kinematic functions and their application.
  3. Learn Cartesian and kinematic robot planning methods
  4. Apply these concepts to design and implement digital fabrication processes.
  5. Gain an understanding of different robot control methods and their application.
  6. 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

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/fs2023.yml

Add to Rhino

(base)   conda activate fs2023
(fs2023) python -m compas_rhino.install -v 7.0

Get the workshop files

(fs2023) cd Documents
(fs2023) git clone https://github.com/compas-teaching/COMPAS-II-FS2023

Verify installation

(fs2023) python -m compas

Yay! COMPAS is installed correctly!

COMPAS: 1.17.5
Python: 3.10.9 (CPython)
Extensions: ['compas-occ', 'compas-cgal', 'compas-fab', 'compas-rrc', 'compas-slicer']

Update installation

To update your environment:

(fs2023) conda env update -f https://dfab.link/fs2023.yml