EN530.678.S2022 Nonlinear Control and Planning in Robotics


  • 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.


  • 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


  • 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


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
  • 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
  • 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

Schedule (tentative — check often!)

WeekTopicLecture NotesCodeAssignments
1/24/2022Introduction, preliminaries, system modelsIntro
Lecture #1 Lecture #2
2/2/2022Nonlinear StabilityLecture #3lecture3_1.m lecture3_2.m hw1_lyapunov_example.m Homework #1 due Feb 14
2/9/2022Nonlinear Stability (cont'd)hw2_example.m Homework #2 due Feb 23
2/21/2022Manifolds and Vector FieldsLecture #4lecture4_1.m
2/28/2022Controllability and NonholonomyLecture #5Homework #3 due Mar 4
3/7/2022Differential FlatnessLecture #6 uni_flat_care.m arm_test.mhover_test.mHomework #4 due Mar 14
3/9/2022Stabilizability (Nonholonomic Steering is optional material)Lecture #7
3/16/2022Feedback LinearizationLecture #8uni_flat_fl.mHomework #5 due 3/30
3/30/2022BacksteppingLecture #9 unit_flat_bs.mHomework #6 due 4/6
4/6/2022Lyapunov Redesign and RobustnessLecture #10Homework #7 due 4/20
4/13/2022Numerical Optimal ControlLecture #11car_shooting.m ddp.zip cem.m cem_test.m for further reading see these notes
4/20/2022Sampling-based Motion Planning, Stochastic Trajectory OptimizationLecture #12Stochastic Policy Optimization (SPO): spo.zip ,
Cross-entropy trajectory optimization: cem_planning_test.m
D*-Lite Path Planning
4/25/2022Receding Horizon ControlLecture #13
4/27/2022Control on Euclidean Groupsrb.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%


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.