AME 60621 – Optimization-Based Robotics


This page provides materials for the Spring 2019 offering of AME 60621 РOptimization-Based Robotics taught at the University of Notre Dame. The course is a graduate course that assumes a prior background in introductory robotics concepts. A newcomer may be interested in AME 50551 РIntroduction To Robotics for background reference.

Learning Objectives

The objective of this course is for students to develop the ability to recognize, formulate, and solve optimization problems within the context of robotics applications. We will consider a range of classical problems spanning dynamics, identification, control, and estimation, and show how they can be posed as constrained optimization problems. An emphasis will be placed on developing competency with state of the art optimization software (e.g., MATLAB optimization toolbox, CVX, SDPT3, CasADi, IPOPT) and on applications within legged robotics.


  • Dynamics and Model Identification: Rigid-body dynamics and spatial vector algebra, articulated-body algorithm, contact modeling, inertial parameter identification
  • Control: Dynamic programming, LQR, trajectory optimization (shooting, direct collocation, and DDP), operational-space control, Poincare analysis, model predictive control
  • Locomotion: Centroidal dynamics, templates and the IP family (SLIP, IP, LIP), the capture point, ZMP
  • Estimation: State estimation and Kalman filtering, sensor fusion


Main course materials are provided as a ZIP file here: link
MATLAB Examples that support a few lectures are here: link


  1. Math Review
  2. Spatial Vector Intro
  3. Spatial Velocities, Forces, and Momentum
  4. Multibody Dynamics – Recursive Newton Euler
  5. Multibody Dynamics – Structure and Identification
  6. Modeling Contacts
  7. Modeling Contacts, Optimal Control Intro
  8. Optimal Control Fundamentals
  9. Linear Quadratic Regulator (LQR)
  10. Rigid Body Dynamics as an Optimal Control Problem
  11. Articulated Body Algorithm
  12. Pontrayagin’s Principle
  13. Trajectory Optimization – Direct Shooting
  14. Trajectory Optimization – Direct Collocation
  15. Trajectory Optimization – Direct Collocation, Differential Dynamic Programming Intro
  16. Trajectory Optimization – Differential Dynamic Programming
  17. Quaternions and Floating Bases
  18. Simple Models of Locomotion
  19. Poincare Analysis
  20. Poincare Wrap Up
  21. Contact Wrench Cone and Zero Moment Point
  22. Capture Point, Model Predictive ZMP Control
  23. Model Predictive Control
  24. Operational Space Control
  25. Quadratic Programming for Whole-Body Control
  26. Probability Overview
  27. Kalman Filtering and State Estimation for Legged Robots


  1. Math Review
  2. Modeling, Dynamics, and Identification
  3. Contact Models, Optimal Control, LQR
  4. Pontryagin and Numerical Trajectory Optimization
  5. Highly-Articulated Robots and Legged Locomotion