Overview
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.
Topics
- 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
Materials
Main course materials are provided as a ZIP file here: link
MATLAB Examples that support a few lectures are here: link
Lectures
- Math Review
- Spatial Vector Intro
- Spatial Velocities, Forces, and Momentum
- Multibody Dynamics – Recursive Newton Euler
- Multibody Dynamics – Structure and Identification
- Modeling Contacts
- Modeling Contacts, Optimal Control Intro
- Optimal Control Fundamentals
- Linear Quadratic Regulator (LQR)
- Rigid Body Dynamics as an Optimal Control Problem
- Articulated Body Algorithm
- Pontrayagin’s Principle
- Trajectory Optimization – Direct Shooting
- Trajectory Optimization – Direct Collocation
- Trajectory Optimization – Direct Collocation, Differential Dynamic Programming Intro
- Trajectory Optimization – Differential Dynamic Programming
- Quaternions and Floating Bases
- Simple Models of Locomotion
- Poincare Analysis
- Poincare Wrap Up
- Contact Wrench Cone and Zero Moment Point
- Capture Point, Model Predictive ZMP Control
- Model Predictive Control
- Operational Space Control
- Quadratic Programming for Whole-Body Control
- Probability Overview
- Kalman Filtering and State Estimation for Legged Robots
Homeworks
- Math Review
- Modeling, Dynamics, and Identification
- Contact Models, Optimal Control, LQR
- Pontryagin and Numerical Trajectory Optimization
- Highly-Articulated Robots and Legged Locomotion