Course Syllabus

CS 6370 / ME EN 6225 Motion Planning

Welcome!

Motion planning stands as a central pillar in robotics. Planning enables robots and autonomous agents to move themselves and other parts of the world to a desired goal by choosing a sequence of appropriate actions. This course will cover the theoretical and algorithmic underpinnings of motion planning in robotics. Applications will be examined across robotics ranging from obstacle avoidance in autonomous cars to rearrangement of furniture by humanoid robots.

Like robotics in general, motion planning draws on a number of different fields in developing its tools. Approaches to motion planning have grown out of artificial intelligence, optimal control, and operations research. As such, elementary knowledge of linear algebra, probability, and graph algorithms are expected of the students. Additionally programming skills are paramount to success in the course as all assignments and projects require implementation and extensions of algorithms covered in class. Finally, all assignments will require thoughtful and thorough writing and analysis by the students.

What does this course offer you?

In this course you will learn to develop and analyze algorithms for motion planning. You will learn to implement motion planning algorithms efficiently for use in research or industry. Even if you work primarily in mechanism design or electrical design of robotic systems, understanding and considering the implications of different approaches to motion planning can aid and improve your design.

How are you, exactly, going to achieve this?

We will have readings associated with most lectures. You should read this material and come prepared to class. We will have selected readings from Steven LeValle's Planning Algorithms book available from the bookstore or for free as a pdf online here: http://planning.cs.uiuc.edu/ Other readings will come from research papers or notes provided by the instructor.

Programming projects will provide you with an opportunity to implement algorithms studied in the course. You will work independently on these assignments to help improve your own skills in programming planning algorithms.

A midterm and final exam, along with ungraded quizzes and questions in class will help you improve your analysis and design skills of motion planning algorithms.

A final group project will serve to combine your programming skills with designing and using motion planning to solve a problem you care about. We encourage you to combine this with your own ongoing research if possible.

How will you (and the teaching staff) know if you are making progress in your learning?

The best way to understand your progress is to actively engage in class and work to answer questions yourself. Each class you will be provided time to engage with the professor and your classmates to solve problems. If something isn't clear then ask about it! If you are confused then many others in the class likely are as well.

We will provide feedback on programming assignments quickly to aid in understanding. Office hours by the professor and TA also serve as a great time to go and get individual feedback on your progress if you are uncertain.

Further Course Administrative Information

Course Summary:

Date Details