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

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 |
Project 1 assigned on Mar 30 |
|
Apr 4 - Apr 8 |
Inverse kinematics Keyframe interpolation |
|
|
Apr 11 - Apr 15 |
Numerical Simulation |
|
|
Apr 18 - Apr 22 |
Orientation Rigid Bodies |
|
|
Apr 25 - Apr 29 |
Articulated Rigid Bodies |
|
|
May 2 - May 6 |
Feedback Control Optimal Control |
|
|
May 9 - May 13 |
Optimal Control Reinforcement Learning |
|
|
May 16 - May 20 |
Reinforcement Learning Guest Lecture by Sehoon Ha |
|
|
May 23 - May 27 |
Differentiable Physics |
|
|
May 30 - Jun 3 |
Musculoskeleton Simulation |
Slides |
Project 5 due on Jun 1 Project 6 due on Jun 1 |