263-5806-00

Computational Models of Motion

A hands-on approach to understanding the mathematical models used in animation and robotics.

About this Course

⇝Piazza
Github issues: ⇝A4

This course covers fundamentals of physics-based modelling and numerical optimization from the perspective of character animation and robotics applications. The methods discussed in class derive their theoretical underpinnings from applied mathematics, control theory and computational mechanics, and they will be richly illustrated using examples ranging from locomotion controllers and crowd simulation to robotic manipulation of elastically-deforming objects.

Times

Day What Time Location
Wednesdays Class 14:00 - 16:00 Recorded
Thursdays Tutorial 15:00 - 17:00 Recorded

Content

Introduction

02/19/2020
Introduction.
PDF

Unconstrained Optimization

02/26/2020

Forward Kinematics and Optimization-based Inverse Kinematics.
PDF 1 PDF 2

Dynamics

03/04/2020
Particle dynamics. ODEs. Numerical Integration: Explicit and implicit integration methods. Applications: Mass-spring systems, crowd simulations.
PDF

Rigid-body Dynamics and Multibody Systems

03/11/2020
PDF
Supplemental Material

Reduced Coordinates Models for Articulated Body Dynamics

03/18/2020
slides
recording
A short tutorial on multibody dynamics.
by K.Liu and S.Jain

Contact Mechanics

04/08/2020
slides
Matlab example code
recording

Trajectory Optimization

04/22/2020
slides
recording (1)
recording (2)

Optimal Control

04/29/2020
slides
recording

Assignments

The accompanying programming assignments are meant to deepen the concepts covered in class. For each programming sheet, we will provide a C++ code framework with basic functionality already in place. This allows you to get straight to the point and implement only the technically interesting and relevant parts.

Getting ready ...

Hand out: 02/20/20
Hand in: (voluntary) 02/27/20
An (ungraded) assignment that sets up the code base and makes sure everything compiles and runs on your machine. Also, you will get familiar with how to submit assignments.
Github Classroom Repo
Issues

Unconstrained optimization & IK

Hand out: 02/27/20
Hand in: 03/12/20
Formulate inverse kinematics as an unconstrained optimization problem and solve it with gradient-based minimization strategies.
Github Classroom Repo
Issues
Tutorial Slides
Solution

Constrained Rigid Body Kinematics

Hand out: 03/12/20
Hand in: 04/02/20
Simulate the kinematics of mechanisms.
Github Classroom Repo
Issues
Tutorial Slides
Solution

Soft Body Simulation and Control

Hand out: 04/02/20
Hand in: 04/23/20
Animate and control soft bodies.
Github Classroom Repo
Issues
Assignment Writeup
Tutorial
Related Paper (Video)
Additional Sensitivity Analysis Reading

Trajectory Optimization

Hand out: 04/23/20
Hand in: 05/07/20
Guide a rocket ship to its destination using particle dynamics and trajectory optimization.
Github Classroom Repo
Issues
Assignment Writeup
Tutorial
Related Paper (Video)
Additional Trajectory Optimization Reading

Final Project

Hand out: 05/07/20
Hand in: 06/12/20

Github Classroom Invite
Issues
Wiki
Video
Slides (pptx)
Slides (pdf)


Schedule

Date What Hand out Hand in
02/20 Tutorial A0 A0
02/27 Tutorial A1 A1 A0
03/05 Q&A A1
03/12 Tutorial A2 A2 A1
04/02 Tutorial A3 (recorded) A3 A2
04/23 Tutorial A4 (recorded) A4 A3
05/07 Project start! project A4
06/12 project

Q&A Sessions

In response to the current situation, we will conduct two Q&A sessions per week:
  • Mondays, 4.15pm - 5pm
  • Fridays, 2.15pm - 3pm
You can join the meetings via Zoom:
https://ethz.zoom.us/j/129067589 ( Details on how to connect. )
When? Recording What we talked about
Friday 03/20 3pm download
  • Organisation of course
  • Assignment 2, Task 1.3
  • Friday 03/27 2.15pm download
  • Lecture 5: Generalized equation of motion, Lagrange's equation, Newton's 2nd law
  • Lecture 6, Continuum Mechanics: "questions you should have an answer to" and other questions...
  • Assignment 2: Tasks 1 and 2
  • Monday 03/30 4.15pm download
  • What to do with all this FEM stuff?
  • How to model bubbles? Related paper and video
  • Friday 04/03 2.15pm download
  • Lecture 7, Constrained Optimization: "questions you should have an answer to" and other questions...
  • Monday 04/06 4.15pm not recorded
  • Q&A about A3. Everything is on the github issues on A3.
  • Monday 04/20 4.15pm download *
  • Contact Mechanics: LCP
  • A few questions on A3
  • Constrained Optimization: Active Set
  • Monday 04/27 4.15pm download
    Monday 05/04 4.15pm
    Friday 05/08 2.15pm download
  • Chat about final project; examples for stretch goals
  • Monday 05/11 4.15pm not recorded
  • general chat about final project
  • Friday 05/15 2.15pm download
  • how does analytical IK work with different joint axes?
  • how to draw objects in the 3d scene?
  • Monday 05/18 4.15pm download
    Friday 05/22 2.15pm download
    Monday 05/25 4.15pm not recorded
    Friday 05/29 2.15pm not recorded
    Monday 06/01 4.15pm Holiday! No Q&A
    Tuesday 06/02 2.15pm Extra Q&A session
    Friday 06/05 2.15pm Q&A about Final Project
    Monday 06/08 4.15pm Q&A about Final Project
    more Q&A sessions will be scheduled if needed!
    * Audio only. Somehow the recording failed to capture video

    Evaluation

    The evaluation is based on the exam (30%), assignments (40%) and final project (30%).
    Exam: The exam will be held remotely and will take place on June 9th. We'll let you know once the exact time has been determined.
    Assignments: Assignments 1-4 need to be handed in no later than the deadline and will be graded.
    Final project: The final project will be graded based on what deliever (what is your code capable of doing?) and presentation (video and slides). This will be weighed against the size of your group. More details on the final project can be found on Github.