Skip to content

compas-teaching/COMPAS-II-FS2021

Repository files navigation

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 2021

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

Information

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

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

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

Verify installation

(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']

Install on Rhino

(compas-fs2021) python -m compas_rhino.install
(compas-fs2021) python -m compas_rhino.install -v 7.0

Update installation

To update your environment:

(compas-fs2021) conda env update -f environment.yml

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages