16-811: Math Fundamentals for Robotics, Fall 2018
Professor: Michael Erdmann (me at -nospam- cmu.edu)
Rogerio Bonatti (rbonatti at -nospam- andrew.cmu.edu)
Wenhao Luo (luo at -nospam- cmu.edu)
Jayanth Krishna Mogali (jmogali at -nospam- andrew.cmu.edu)
Azarakhsh Keipour (keipour at -nospam- cmu.edu)
Location: HH B103 (Hamerschlag Hall)
Time: TR 3:00-4:20
Michael Erdmann's Office Hours: Prefer after class (or by appointment, office is GHC 9203).
Copies of (handwritten)
lecture notes are available online here.
Rogerio Bonatti's Office Hours: TBA
Wenhao Luo's Office Hours: TBA
Jayanth Krishna Mogali's Office Hours: TBA
Azarakhsh Keipour's Office Hours: TBA
This course covers selected topics in applied mathematics,
taken from the following list:
- 1. Solution of Linear Equations.
- 2. Polynomial Interpolation and Approximation.
- 3. Solution of Nonlinear Equations.
- 4. Roots of Polynomials, Resultants.
- 5. Approximation by Orthogonal Functions (includes Fourier series).
- 6. Integration of Ordinary Differential Equations.
- 7. Optimization.
- 8. Calculus of Variations (with applications to Mechanics).
- 9. Probability and Stochastic Processes (Markov chains).
- 10. Computational Geometry.
- 11. Differential Geometry.
This is a graduate course. You are thus expected to pursue ideas
and topics discussed in this course on your own beyond the level of
the lectures. My aim is to cover some of the easy early material
quickly, then spend more detailed time on the later material. My goal
throughout the course is to acquaint you with fundamental algorithms
and mathematical reasoning, as well as give you some implementation
The course grade will be determined by performance on assignments,
participation in class, and a class project. Class assignments will
entail solving some problems on paper or implementing some of the
algorithms discussed in the course.
The term project should take about a month of work (40 hours) per
person. It should pursue a mathematical topic in a robotics setting
that is not otherwise covered in detail in the course. Ideally, the
project should be connected to your research. If you are a first year
graduate student, you should view the project as a springboard to
The goal of the course is to help you accomplish the following:
- Understand the geometry of linear systems of equations, including
null spaces, row spaces and column spaces. Understand eigenvalues,
diagonalization, singular value decomposition, least-squares solutions.
Apply these skills to infer rigid-body transformations from data.
- Learn how to model data using interpolation, linear regression, and
higher-order approximation methods. Apply these skills to recognize
objects from point-cloud data.
- Understand different methods for finding roots of equations, in
one dimension and higher, including bisection, Newton's method,
Müller's method. Develop skills to analyze convergence rates.
- Generalize finite-dimensional linear algebra concepts such as
orthogonal bases to perform function approximation, including using
Legendre polynomials and Fourier series to compute least-squares
approximations. Learn about different function norms.
- Develop techniques for solving differential equations numerically.
- Understand optimization techniques such as gradient descent,
conjugate gradient, Newton's method. Learn the basics of convex
optimization. Implement obstacle-avoidance viewed as cost-minimization.
- Develop methods from the Calculus of Variations for higher-order
optimization. Apply these techniques to develop the Lagrangian dynamics
of a robot manipulator.
- Learn basic computational geometry techniques, such as Convex Hull
and Voronoi diagrams. Implement a geometric robot motion planner.
- Understand Markov chains from the perspective of eigenvalues and
In order to pass this course you must do all the work required.
"Doing all the work" entails coming to class, submitting solutions for
the assignments, and doing the project. You must submit a reasonable
attempt at a solution for every problem on an assignment by
that assignment's due date. Assignments are graded on a "minus,
check, plus" scale. You must receive a "check" or a "plus" on every
assignment in order to pass the course. If you obtain a "minus" on an
assignment, you may and must submit correct solutions by the
resubmission deadline for that assignment, in order to try to raise
your assignment grade to a "check". (The resubmission deadline is not
an alternate deadline for the original assignment; you need to attempt
every problem by the original deadline.)
For the project, you should submit a project proposal, a project
writeup, and present your project publicly. The project proposal is
due near midsemester. It should be about one paragraph long and
describe what you plan to do, why it is interesting, and cite prior
work. Project writeups should be five pages long. Project writeups
are due at the end of the last presentation. Project presentations
will occur near the end of the term, depending on room availabilities.
Projects may be individual projects or team projects. Team
projects must be commensurately larger in scope than single person
projects. Projects that are used in more than one course need to be
significantly more substantial than single course projects. A team
project that is used in more than one course needs to be very
(Please note: Not doing all the work as described above within the
time frame allotted means you fail the course.)
There is no required text for this course. The lecture material is
available online (as scans of handwritten notes). The following is a
suggested reading list. Much of the lecture material is taken from
- 1. W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling.
Numerical Recipes in C.
Cambridge University Press. (Any edition.)
- 2. G. Strang. Introduction to Applied Mathematics.
Wellesley-Cambridge Press. 1986.
- 3. G. H. Golub and C. F. Van Loan. Matrix Computations. Johns
Hopkins University Press. 1983.
- 4. S. D. Conte and C. de Boor. Elementary Numerical Analysis. Third
edition. McGraw-Hill. 1980.
- 5. G. E. Forsythe, M. A. Malcolm, and C. B. Moler. Computer Methods
for Mathematical Computations. Prentice-Hall. 1977.
- 6. D. G. Luenberger. Introduction to Linear and Nonlinear
Programming. Addison-Wesley. 1973.
- 7. R. Weinstock. Calculus of Variations. Dover Publications. 1974.
(Reprint of 1952 McGraw-Hill edition.)
- 8. R. Courant and D. Hilbert. Methods of Mathematical Physics.
Volume I. John Wiley and Sons. 1989. (Reprint of 1953 Interscience
- 9. W. Yourgrau and S. Madelstam. Variational Principles in Dynamics
and Quantum Theory. Dover Publications. 1979. (Reprint of a 1968
- 10. F. P. Preparata and M. I. Shamos, Computational Geometry,
Springer-Verlag, New York, 1985. (Corrected and expanded printing: 1988.)
- 11. J.-C. Latombe, Robot Motion Planning, Kluwer Academic Publishers,
- 12. W. Feller. An Introduction to Probability
Theory and Its Applications. Volume 1.
Third edition. John Wiley and Sons. 1968.
- 13. B. O'Neill, Elementary Differential Geometry, Academic Press,
New York, 1966. 2nd Edition: 1997.
Use of Recording Devices
Please do not record my lectures or take images of me.
University policy on this matter suggests the following formal statement:
No student may record any classroom activity without express
written consent from me. If you have (or think you may have) a
disability such that you need to record or tape classroom activities,
you should contact the Office of Equal Opportunity Services,
Disability Resources to request an appropriate accommodation.