ECE 4984/5984: (Advanced) Robot Motion Planning

Class announcements, discussions, assignments, and due dates will be posted on Canvas.


This is an exciting time to be a roboticist. Robots continue to get smaller, faster, and cheaper. Robots today are packed with sophisticated computing, communication, and sensing resources. It is becoming increasingly important to develop efficient motion planning algorithms that makes full use of the robot's capabilities. In this course, we will discuss the state-of-the-art algorithms that aim to do just that.

The course will be a mix of theoretical and applied subject matter where the students will learn the fundamental planning concepts and apply them through programming assignments and class projects. We will cover discrete and sample-based, higher-level planning algorithms for mobile (ground and aerial) robots operating in 3D space. The course will also focus on perception issues in the context of planning.

Topics include:

We will have (almost) weekly assignments, a semester-long group project, and an individual term paper. The assignments will be a mix of writing and implementation exercises. We will extensively use ROS for the implementions in simulation and on actual robots. You should be familiar with programming in either Python or C/C++ and comfortable with Linux.



Planning Algorithms by Steve LaValle. The book is available online for free. I recommend using the online version. I will provide other notes/references during the course.


A tentative schedule is here. This will likely evolve during the semester.


Details will posted on canvas. The assignments will be a mix of theory questions, and programming/implementation problems.

Course Project


If you are registering for ECE 4984, then ECE 3574 is a pre-requisite. If you are registering for ECE 5984, then graduate standing is required.

We will be using ROS for some assignments. You should be comfortable in programming in either Python or C/C++ as well as using Linux.

Academic Integrity

You are encouraged to discuss the course materials with the instructor and other students in the class. However, any work that you submit (including but not limited to homeworks, paper reviews, project reports) must be your own. Give proper citations if you use any code or data from anyone else.

The Undergraduate Honor Code pledge that each member of the university community agrees to abide by states: “As a Hokie, I will conduct myself with honor and integrity at all times. I will not lie, cheat, or steal, nor will I accept the actions of those who do.”

Students enrolled in this course are responsible for abiding by the Honor Code. A student who has doubts about how the Honor Code applies to any assignment is responsible for obtaining specific guidance from the course instructor before submitting the assignment for evaluation. Ignorance of the rules does not exclude any member of the University community from the requirements and expectations of the Honor Code. For additional information about the Honor Code, please visit:

The tenets of the Virginia Tech Graduate Honor Code will be strictly enforced in this course, and all assignments shall be subject to the stipulations of the Graduate Honor Code. For more information on the Graduate Honor Code, please refer to the GHS Constitution at this URL.

Services for Students with Disabilities

Any student who feels that he or she may need an accommodation because of a disability (learning disability, attention deficit disorder, psychological, physical, etc.), please make an appointment to see me during office hours.