## Description

- Course Title: Nonlinear Control and Planning in Robotics
- Course Number: EN530.678
- Time: MW 3:00-4:15
- Location: online
- Professor: Marin Kobilarov
- Contact: marin(at)jhu.edu, Hackerman 117
- Office Hours: Monday 11:00-12:00, Hackerman 117

- Teaching Assistants
- Ji Woong (Brian) Kim (jkim447(at)jhu.edu)
- Peiyao Zhang (pzhang24(at)jhu.edu)
- TA Office Hours: Monday 10:00-11:00; Friday 3:00-4:00, Malone 222

- Course material (homeworks/projects) can be submitted using the file upload formĀ

The course starts with a brief introduction to nonlinear systems and covers selected topics related to model-based trajectory planning and feedback control. Focus is on applications to robotic systems modeled as underactuated mechanical systems subject to constraints such as obstacles in the environment. Topics include: nonlinear stability, controllability, stabilization, trajectory tracking, systems with symmetries, differential flatness, backstepping, probabilistic roadmaps, stochastic optimization. Recommended Course Background: multi-variable/differential calculus, differential equations, linear algebra, undergraduate linear control, basic probability theory, programming in MATLAB; an introductory robotics course is useful but not required.

## Objectives

- Basic analysis and stability of nonlinear systems
- Controllability of nonholonomic systems
- Stabilization and tracking of underactuated/nonholonomic systems
- Trajectory generation using differential flatness/symmetries
- Optimal trajectory generation: gradient/gradient-free methods
- Motion planning with complex constraints
- Combining trajectory generation and feedback control: receding horizon control

## Topics

- Introduction, math background preliminaries, basic system models
- Nonlinear Systems Basics and Stability
- Manifolds and Vector Fields
- Controllability and Nonholonomic Systems
- Normal forms and Feedback Linearization
- Differential Flatness and Systems with Symmetries
- Backstepping
- Robustness
- Gradient-based trajectory optimization
- Stochastic trajectory optimization
- Tree/Graph-based motion planning
- Receding horizon control (RHC)
- Control on Euclidean groups

## Reading

There is no required textbook for the course. A list of relevant textbooks is provided below.

- Textbooks: General Nonlinear Control
- Sastry, “Nonlinear Systems: Analysis, Stability, and Control
*, 1999* - Khalil, “Nonlinear Systems
*, 1991* - Slotine, Li, “Applied Nonlinear Control
*, 1991*

- Sastry, “Nonlinear Systems: Analysis, Stability, and Control

- Textbooks: Robot Control and Planning
- Murray, Li, Sastry, “Mathematical Introduction to Robotic Manipulation
*, 1994, Chapters 7,8 (available online)* - Choset, Lynch, Hutchinson, Kantor, Burgard, Kavraki and Thrun, “Principles of Robot Motion: Theory, Algorithms, and Implementations
*, 2006* - Lavalle, “Planning Algorithms
*, 2006, Chapters 14, 15 (available online)* - Spong, Hutchinson, Vidyasagar, “Robot Modeling and Control
*, 2005* - edited by Laumond, “Robot motion planning and control
*, 1998* - Canudas de Wit, Siciliano, Bastin, “Theory of Robot Control
*, 1996*

- Murray, Li, Sastry, “Mathematical Introduction to Robotic Manipulation

- Textbooks for additional/advanced background:
- Manifolds/Basics:
- “Calculus on manifolds”, Spivak, 1965

- Differential Geometry:
- “A Comprehensive Introduction to Differential Geometry”, Spivak
- “An Introduction to Differentiable Manifolds and Riemannian Geometry”, Boothby

- Mechanics
- “Mathematical Methods of Classical Mechanics”, Arnold, 1987
- “Introduction to Mechanics and Symmetry”, Marsden and Ratiu, 1999
- “Nonholonomic Mechanics and Control”, Bloch, 2003
- “Geometric Control of Mechanical Systems”, Bullo, Lewis, 2004

- Manifolds/Basics:

## Schedule (tentative — check often!)

Week | Topic | Lecture Notes | Code | Assignments |
---|---|---|---|---|

1/24/2022 | Introduction, preliminaries, system models | Intro Lecture #1 Lecture #2 | ||

2/2/2022 | Nonlinear Stability | Lecture #3 | lecture3_1.m lecture3_2.m hw1_lyapunov_example.m | Homework #1 due Feb 14 |

2/9/2022 | Nonlinear Stability (cont'd) | hw2_example.m | Homework #2 due Feb 23 | |

2/21/2022 | Manifolds and Vector Fields | Lecture #4 | lecture4_1.m | |

2/28/2022 | Controllability and Nonholonomy | Lecture #5 | Homework #3 due Mar 4 | |

3/7/2022 | Differential Flatness | Lecture #6 | uni_flat_care.m arm_test.mhover_test.m | Homework #4 due Mar 14 |

3/9/2022 | Stabilizability (Nonholonomic Steering is optional material) | Lecture #7 | ||

3/16/2022 | Feedback Linearization | Lecture #8 | uni_flat_fl.m | Homework #5 due 3/30 |

3/30/2022 | Backstepping | Lecture #9 | unit_flat_bs.m | Homework #6 due 4/6 |

4/6/2022 | Lyapunov Redesign and Robustness | Lecture #10 | Homework #7 due 4/20 | |

4/13/2022 | Numerical Optimal Control | Lecture #11 | car_shooting.m ddp.zip cem.m cem_test.m | for further reading see these notes |

4/20/2022 | Sampling-based Motion Planning, Stochastic Trajectory Optimization | Lecture #12 | Stochastic Policy Optimization (SPO): spo.zip , Cross-entropy trajectory optimization: cem_planning_test.m D*-Lite Path Planning | |

4/25/2022 | Receding Horizon Control | Lecture #13 | ||

4/27/2022 | Control on Euclidean Groups | rb.zip |

## Grading Policy

There will be homeworks given every week and due one week later (on Wednesday before class). There will be a midterm and a final covering the first half and second half of the semester, and a project involving both analys and implementation (e.g. in MATLAB). Grades will be determined according to:

Homeworks | 30% |

Midterm | 25% |

Final | 25% |

Project | 20% |

## Ethics

You can work together with other students to study the material related to homeworks/tests but the submitted work must be entirely your own. For more information, see the guide on “Academic Ethics for Undergraduates” and the Ethics Board web site (http://ethics.jhu.edu).

Late homework will not be accepted without a prior approval from the instructor or TAs. Each student is allowed one “free” late submission due the following class. Contact the TA’s to request late submission approval.