What is This Class All About?

NASA/GM's Robonaut2 and Astronaut

Robots have fascinated people for generations. Today, robots are built for applications as diverse as exploring remote planets, de-mining war zones, cleaning toxic waste, assembling cars, inspecting pipes in industrial plants, and mowing lawns. Robots are also interacting with humans in a variety of ways: robots are museum guides, robot pets entertain, and robots assist surgeons in life-saving operations. Soon we will see commercially available self-driving cars.

The field of robotics studies not only the design of new mechanisms but also the development of algorithms and frameworks that make these mechanisms useful in the physical world. This class focuses on the algorithmics of robotics and presents the mathematical foundations and the algorithms that make robots work. The class integrates elements from algorithms, artificial intelligence, computer graphics and animation, mixed reality systems and discusses non-traditional applications of robotics to molecular modeling, computational biology and medicine. It involves several programming projects. This is a class on algorithms and artificial intelligence, and not on robot hardware and control.

Who is This Class For?

Undergraduates from computer science as well as electrical engineering, bioengineering, mechanical engineering, and biology/chemistry are encouraged to come and check the class out. The class requires mathematical maturity, knowledge of algorithms, and ideally knowledge of C++. Students who know Java well have few problems transitioning to this class. The same is true for students who know C. Please check the resources here for a guide to transitioning to C++.

Please note that knowledge of Mathematica, Matlab, R, Python, or other scripting languages is not enough for this class. Check the material contained in the classes that are prerequisites for this class.

Graduate students should register for COMP/ELEC/MECH 550.

The formal pre-requisites for the class are enforced for undergraduates. The pre-requisites are waived for graduate students. Both undergraduate and graduate students are encouraged to talk with the instructor when in doubt.

It is very important to attend the first lecture of the class if you are trying to decide whether to take this class or not.

Important Announcement

Waymo's Autonomous Vehicle

If this class is full and you wish to take it, please contact the instructor.

Where and When?

Tuesdays & Thursday 1:00–2:15pm
Location Duncan Hall 1070

People Involved

Instructor: Professor Lydia Kavraki
Office: Duncan Hall 3106
Office Hours: Thursdays 2:30–4:00pm and by appointment
Email: kavraki/AT/rice/DOT/edu

Dr. Kavraki's research area is in robotics and bioinformatics. Check her website for related projects.

Teaching Assistant: Zachary Kingston
Office: Duncan Hall 3052
Office Hours: Monday 2:00-3:30pm and by appointment
Email: zak/AT/rice/DOT/edu

Teaching Assistant: Andrew Wells
Office: Duncan Hall 3075
Office Hours: Tuesday 2:30-4:00pm and by appointment
Email: aw34/AT/rice/DOT/edu

Class Material

Class material will be distributed through Canvas. This course involves both written and programming assignments. The programming assignments use the OMPL Library which is written in C++.


Principles of Robot Motion: Theory, Algorithms, and Implementations.
ISBN: 0262033275

Several originals papers will be used during the semester to complement the material of the book.