Skip to main content Skip to secondary navigation

CS348E: Character Animation: Modeling, Simulation, and Control of Human Motion

Main content start
CS348E teaser

Spring 2022

  • Instructor: C. Karen Liu
  • Class Assistant: Albert Wu
  • Time: MW 3:15pm-4:45pm
  • Location: Huang 018
  • Instructor office hours: Wednesday 2-3pm, Gates 368 and Zoom (meeting links on Canvas) 
  • CA office hours: Monday 7:45pm~8:45pm @ Thornton Center 207 & Zoom, Thursday 3:45pm~4:45pm @ Encina Hall West 208 & Zoom. Link on Canvas.
  • Canvas website
  • Piazza website

This course introduces technologies and mathematical tools for simulating, modeling, and controlling human/animal/robot movements. Students will be exposed to integrated knowledge and techniques across computer graphics, robotics, machine learning and biomechanics. The topics include human kinematic modeling,  numerical integration, multi-body simulation, muscle dynamics,  keyframe interpolation, trajectory optimization, reinforcement learning, feedback control for motor skills,  motion capture, data-driven motion synthesis, and differentiable physics simulation. Students who successfully complete this course will be able to use and program physics simulator for character animation or robotic applications, to design/train control policies for locomotion or manipulation tasks on virtual agents, and to leverage motion capture data for synthesizing realistic virtual humans. The evaluation of this course is based on five programming projects.

Assignments:

  • Project 1: The Twister Game (20%): Implemtn an inverse kinematics solver for a human figure by formulating and solving a multi-objective optimization problem.
  • Project 2: Rigid Body Sento (16%):  Augment a rigid body physics engine with a simple fluid model to simulate (articulated) rigid bodies in a swimming pool.
  • Project 3: Diving into the Deep End (16%): Create a keyframe animation of platform diving and control a physically simulated character to track the diving motion using PD feedback control.
  • Project 4: Rise Up! (24%): Formulate and solve a trajectory optimization problem that maximizes the height of a vertical jump on the diving board.
  • Project 5: Sink or Swim (24%): Learn to use the toolchain for deep reinforcement learning to train the character to swim back to the surface after the dive.

Late policy:

Each student has a total of 6 late days for use over all projects. Using 1 late day extends the deadline by 24 hours. You may use up to 3 late days per project. No project will be accepted more than 72 hours after the deadline. Late assignments will not be accepted if you are out of late days, so use the late days wisely!

 

Calendar:

Week Topics Materials Assignments

Mar 28 - Apr 1

Introduction

Human kinematics

Slides

Slides, Problem sets

Project 1 assigned on Mar 30

Apr 4 - Apr 8

Inverse kinematics

Keyframe interpolation

Slides, Problem sets

Slides, Problem sets

 

Apr 11 - Apr 15

Numerical Simulation

Slides, Problem sets

 

Apr 18 - Apr 22

Orientation

Rigid Bodies

Slides, Problem sets

Slides, Problem sets

 

Apr 25 - Apr 29

Articulated Rigid Bodies

Slides, Problem sets

 

May 2 - May 6

Feedback Control

Optimal Control

Slides, Problem sets

Slides

 

May 9 - May 13

Optimal Control

Reinforcement Learning

Slides

Slides

 

May 16 - May 20

Reinforcement Learning

Guest Lecture by Sehoon Ha

Slides

 

 

May 23 - May 27

Differentiable Physics

Slides

 

May 30 - Jun 3 

Musculoskeleton Simulation

Slides

Project 5 due on Jun 1

Project 6 due on Jun 1