
Optimization Methods for Robotics
CS 5757, Cornell University, Spring 2026
Instructor: Preston Culbertson
Lectures: Tue / Thu, 8:40 am – 9:55 am, Gates Hall 114

Overview
Modern robotics relies heavily on numerical optimization, especially when working with complex dynamics, constraints, and imperfect models. This course focuses on the optimization methods that underpin model-based robotics and control, with an emphasis on practical implementation and real robotic systems.
You will learn how to formulate and solve robotics problems such as inverse kinematics, trajectory optimization, control, and estimation using modern optimization tools. By the end of the course, you will be able to go beyond black-box or closed-form solutions and build optimization-based approaches tailored to real robotics problems, culminating in an open-ended final project of your choosing.
Course Topics
- Formulating robotics problems (planning, control, and state estimation) as optimizations.
- Numerical methods (gradient-based and gradient-free) for solving optimization problems.
- Handling rotations, rigid-body transformations, and constraints.
- Robust optimization under model mismatch and contact.
Course Staff


Course Logistics
Resources
- Course website - all course information and materials will be posted here.
- Ed Discussion forum - for asking and answering questions about the course material.
- Gradescope - for submitting assignments and viewing grades/feedback.
- Canvas - final grades and assignment solutions will be posted here.
Prerequisites
This course assumes the following background:
Comfortable programming in Python. All assignments will be in Python and will make use of NumPy and JAX. Students with substantial programming experience in another language (e.g. C/C++, MATLAB, Julia) should be able to transition quickly.
Foundations in linear algebra and calculus. You should be comfortable working with vectors and matrices, and with derivatives and gradients. Familiarity with Hessians will be helpful.
Basic probability and statistics. You should be familiar with random variables, probability distributions, expectation, variance, and Bayes’ rule.
The following background is helpful but not required:
Some exposure to optimization concepts, such as gradient descent or convexity.
Some exposure to robotics, for example kinematics, dynamics, or control.
Students without the recommended background are still encouraged to enroll, but may need to do some independent review during the semester.
Assignments and Grading
Course grades are determined by homework and a final project.
- Homework (50%) Four assignments will be given at roughly three week intervals.
- Final Project (45%) Work may be done individually or in teams of up to three. Projects should investigate a problem related to optimal or learning based control or estimation. Evaluation is divided across a project proposal (5%), a milestone report (10%), and a final report with a three minute video (30%).
- Participation (5%) We will assess participation credit based on engagement in lectures (e.g., answering in-class polling questions), and responding to the intro- and mid-semester surveys.
- Bonus (up to 5%) Students earn 0.5% of extra credit for each staff-endorsed answer on Ed Discussion, up to a total of 5%.
Syllabus
The syllabus for the course can be found here.
Schedule
The tentative schedule for the course can be found here.
Course Materials
This course does not have a required textbook. Selected readings and lecture materials will be provided throughout the semester. The course draws on material from several textbooks, including the following.
Numerical Optimization (NO), Jorge Nocedal and Stephen Wright.
Underactuated Robotics (UR), Russ Tedrake.
State Estimation for Robotics (SER), Timothy D. Barfoot.
Additional references on robotics and optimization that may be useful include:
Principles of Robot Autonomy (PoRA), Daniele Gammelli, Joseph Lorenzetti, Katie Luo, Gioele Zardini, and Marco Pavone.
Convex Optimization (CO), Stephen Boyd and Lieven Vandenberghe.
Modern Robotics: Mechanics, Planning, and Control (MR), Kevin M. Lynch and Frank C. Park.
Algorithms for Optimization (AfO), Mykel J. Kochenderfer and Tim A. Wheeler.
An Introduction to Optimization on Smooth Manifolds, Nicolas Boumal.
We also will provide some resources for scientific programming in Python.
- For Python basics and
numpyusage, we suggest the resources from CS 231n at Stanford, found here. - For JAX, we recommend the official tutorial which covers the key concepts (
jit,grad,vmap, and random numbers) used in this course. - We also recommend some short docs on crimes against matrices and crimes against
jax.jitto help with common issues in linear algebra and JAX.