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 planning safe motions in robotic surgery, 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?

Due to the COVID-19 pandemic, this semester the course will be held in an Interactive Video Conferencing (IVC) style, i.e., we will meet together virtually via Zoom. The course will meet Mondays, Wednesdays, and Fridays from 10:45 AM to 11:35 AM (Zoom links here).

We will have readings associated with many lectures. You should read this material and come prepared to class. We will have selected readings from Steven LeValle's Planning Algorithms book available 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.

Each student will select a modern motion planning research paper, prepare a presentation summarizing the paper, and present it for the class. For this we encourage you to explore research at the intersection of motion planning and your other research interests.

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.

We will also have frequent short answer/multiple choice style canvas quizzes to help enhance and assess retention and understanding of the material.

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 (held via Zoom) by the professor and TA also serve as a great time to go and get individual feedback on your progress if you are uncertain.

Other Important Course Information

To help facilitate learning for students with unexpected issues this semester, the lecture zoom meetings will be recorded and uploaded in canvas.

Cooperation vs Cheating: Any assignment submitted or quiz taken must be your own work (unless specified in the assignment). However, talking with one another to understand the material better is encouraged. Recognizing the distinction between cheating and cooperation is very important. If you copy someone else's solution, you are cheating. If you let someone else copy your solution, you are cheating. If someone dictates a solution to you, you are cheating. Everything you hand in must be in your own words, and based on your own understanding of the solution. If someone helps you understand the problem during a high-level discussion, you are not cheating.

This syllabus is meant to serve as an outline and guide for the course. Please note that your instructor may modify it to accommodate the needs of your class.

You will be notified of any changes to the Syllabus.

Course Summary:

Date Details Due