Skip to main content Skip to secondary navigation

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

Main content start
CS348E teaser

Spring 2023

  • Instructor: C. Karen Liu
  • Class Assistant: Albert Wu
  • Time: MW 1:30pm~2:50pm
  • Location: Building 200-303
  • Instructor office hours: Monday 3pm~4pm @ Gates 368
  • CA office hours: Wednesday & Fridays 3pm~4pm @ Gates 3B lounge (temporary)

Course Description

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/humanoids kinematics, human/humanoids dynamics, trajectory optimization, reinforcement learning for motor skills,  motion capture, machine learning for human motion synthesis and estimation, and differentiable physics simulation. Students who successfully complete this course will be able to use physics simulation for animation and 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 three programming projects, one written homework, and participation in paper discussion. There is no midterm or final exam.


  • Animation basics: forward kinematics, inverse kinematics, forward dynamics and inverse dynamics
  • Representation of human body, dexterous hand, and environment for motion synthesis, estimation, and control
  • Motion synthesis as trajectory optimization
  • Training virtual agents using reinforcement learning with proprioception, vision and haptics
  • Learning controllable motion models from motion capture data
  • Learning motion priors using variational autoencoders and diffusion models
  • Human motion estimation using sparse sensors
  • Human body modeling and parameter estimation
  • Utilizing differentiable physics simulation for animation and robotics applications

Assignments and grading

Project 0 (10%)

Project 1 (25%)

Project 2 (25%)

Project 3 (25%)

Paper discussion (in class) (15%)

Paper discussion grading policy

  • There will be a mini quiz for each of the papers discussed in class. Each quiz is worth 1 point in the final grade. There are 10 quizzes for a total of 10 points.
  • During the discussions, you get 1 point for asking or answering a question. You may earn up to 7 points throughout the quarter.
  • Your paper discussion grade (out of 15) is min(quiz points + discussion points, 15).

Late policy

Each student has a total of 5 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!



Week Topics Assignments

Apr 3 - Apr 7


Kinematics basics


Apr 10 - Apr 14

Kinematics basics

Dynamics basics

Project 0 out (4/13)

Apr 17 - Apr 21

Dynamics basics

Optimal control

Project 0 due (4/21)


Apr 24 - Apr 28

Optimal control

Reinforcement learning

Project 1 out (4/24)

May 1 - May 5

Differentiable Program

Paper discussion: 

Synthesis of Biologically Realistic Human Motion Using Joint Torque Actuation

Scalable Differentiable Physics for Learning and Control


Project 2 out (5/5)

May 8 - May 12

Reinforcement learning

Paper discussion:

Deep Mimic

Catch & Carry: Reusable Neural Controllers for Vision-Guided Whole-Body Tasks

Project 1 due (5/8)

May 15 - May 19

Databases approach and motion capture

ML models for human motion

Project 2 due (5/19)

Project 3 out (5/17)

May 22 - May 26

Paper discussion:

Learned Motion Matching

Phase-Functioned Neural Networks for Character Control

Paper discussion:

DeepPhase: Periodic Autoencoders for Learning Motion Phase Manifolds

Character Controllers using Motion VAEs


May 29 - Jun 2

Memorial day (no class)

Paper discussion:

MDM: Human Motion Diffusion Model

ManipNet: Neural Manipulation Synthesis with a Hand-Object Spatial Representation


Jun 5 - Jun 9

Guest lecture (Sebastian Starke)

Project 3 progress meeting

Project 3 due (6/12)