# syllabus

## Mathematics for Robotics

Fall 2020, T-Th 5:00-6:20 PM, @ Zoom

Professor: Henrik I Christensen, Office hours: Thursdays 9-11

TAs: Fatemehsadat Mireshghallah - f.mireshghallah@gmail.com

## Prerequisites

This is an introductory graduate class so a minimum of formal requirements are assumed beyond an ability to program.

## Piazza

We will be using Piazza for class communication/discussions, so you should get an enrollment email from them. Please do sign up and check it out. The URL for the Piazza site is here

## Emailing about the class:

Please use piazza as much as possible, but if you must email me, please be sure to use "CSE276C" in the subject line, automatically done by clicking this link: hichristensen@ucsd.edu

## Class Goals

The desired learning outcomes for the students are:

- 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. Consider 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, Mueller's method. Develop skills to analyze convergence rates.
- Generalize finite-dimensional linear algebra concepts such as orthogonal bases to perform function approximation.
- 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. Consider 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.

## Textbook

The two texts that we will draw from are:- W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling. Numerical Recipes in C. Cambridge University Press. (Any edition.)
- T. Bewley, Numerical Renaissance: simulation, optimization, & control (website)

- M. Deisenroth, A. Aldo Faisal, and C. Soon Ong, "Mathematics for Machine Learning", PDF is available here

## Assignments (20% each)

There will be five assignments, spaced throughout the quarter,
each covering different aspects of the material. We will use Canvas
for submission of assignments.
The CANVAS site

- We will cover different aspects of the material some of them can be solved directly on paper others will require basic programming in python or matlab

## Participation in Class:

To encourage interaction, there is a 5% participation grade, allowing to get up to 5% extra credit for engaging in class dialogue and on Piazza (e.g., answering each others questions, asking questions).

## Collaboration Policy:

Collaboration on assignments is encouraged at the "whiteboard" level. That is, share ideas and technical conversation, but write your own code. Students are expected to abide by the Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the Dean of Students.

## Late Policy:

1 day late: 75% of the grade, 2 days late: 50% of the grade, later than that: 0% of the grade. It is always permissible to ask prior approval to hand in an assignment late because of special circumstances.

## Grading:

- Assignments: 100%
- Participation Grade: 5% Extra Credit