16-350 Planning Techniques for Robotics

Planning is one of the core components that enable robots to be autonomous. Robot planning is responsible for deciding in real-time what the robot should do next, how to do it, where the robot should move next and how to move there. This class does an in-depth study of popular planning techniques in robotics and examines their use in ground and aerial robots, humanoids, mobile manipulation platforms and multi-robot systems. The students learn the theory of these methods and also implement them in a series of programming-based projects.

To take the class students should have a good knowledge of programming and data structures.

Spring 2021 Course Information

Announcements

Dates/times

Class meetings: Mondays, Wednesdays, 2:20-3:40PM, via Zoom

Instructor

Who Email
Maxim Likhachev

Teaching Assistants

Who Email
Jacky Liang

Office Hours

Who Location Hours
Jacky via Zoom Tue 4:30-5PM and Thu 1:30-2PM
Maxim via Zoom By appointment

Grading

The criteria used to compute the final grade will consist of a combination of scores obtained on the exam, three programming assignments (homeworks), pop quizzes, final project and class participation:

Three homeworks 33%
Exam 20%
In-class pop quizzes 10%
Final project 32%
Participation 5%

Each student has a total of 3 free late days that may be used as needed for homeworks. No late days may be used for the final project!
Additional details: A late day is defined as a 24-hour period after the deadline. After the free late days are used up, each additional late day will incur a 10% penalty on the maximum achievable score with an upper limit on the penalty of 50%. For example, if the assignment is worth 100 points, your maximum score will drop to 90 points for 1 additional late day and to 80 points for 2 additional late days, etc.

Class lectures/notes:

Tentative schedule for the class (PDF)

Date Topic Slides Homeworks Additional Info
2/1 (Mon) Introduction, What is Robot Planning? slides
-
-
2/3 (Wed) Planning Representations: Skeleton- and Grid-based Graphs slides
-
-
2/8 (Mon) Search Algorithms: Uninformed A* Search slides
-
-
2/10 (Wed) Search Algorithms: A* Search slides
-
2/15 (Mon) Search Algorithms: Heuristics, Backward A*, Weighted A* Search slides
-
-
2/17 (Wed) Search Algorithms: Multi-goal A* slides
-
-
2/22 (Mon) Interleaving Planning and Execution: Anytime Heuristic Search slides
-
-
2/24 (Wed) Interleaving Planning and Execution: Incremental Heuristic Search slides
-
-
3/1 (Mon) Interleaving Planning and Execution: Real-time Heuristic Search slides
-
-
3/3 (Wed) Planning Representations: Lattice-based Graphs, Explicit vs. Implicit Graphs slides
-
-
3/8 (Mon) Case Study: Planning for Autonomous Driving slides
-
-
3/10 (Wed) Planning Representations: Probabilistic Roadmaps for Continuous Spaces slides
-
3/15 (Mon) Planning Representations/Search Algorithms: RRT, RRT-Connect, RRT* slides
-
-
3/17 (wed) Planning Representations/Search Algorithms: RRT, RRT-Connect, RRT* (cont'd) -
-
-
3/22 (Mon) Case Study: Planning for Mobile Manipulators and Articulated Robots slides
-
-
3/24 (Wed) Search Algorithms: Markov property, independent vs. dependent variables
-
-
3/29 (Mon) Case Study: Planning for Coverage, Mapping and Surveyal slides
-
-
3/31 (Wed) Planning Representations: Symbolic Representation for Task Planning slides
-
4/5 (Mon) SPRING BREAK: NO CLASSES -
-
-
4/7 (Wed) Presentation of Final Project Proposals -
-
4/12 (Mon) Search Algorithms: Planning on Symbolic Representations slides
-
-
4/14 (Wed) Planning under Uncertainty: Minimax Formulation slides
-
-
4/19 (Mon) Planning under Uncertainty: Expected Value Formulation slides
-
-
4/21 (Wed) Planning under Uncertainty: Solving Markov Decision Processes slides
-
-
4/26 (Mon) Planning under Uncertainty: Partially-Observable Markov Decision Processes (POMDPs) slides
-
-
4/28 (Wed) Multi-Robot Planning slides
-
-
5/3 (Mon) Multi-Robot Planning (cont'd) -
-
-
5/5 (Wed) Final Project Presentations -
-
-