What is This Class About?

NASA/GM's Robonaut2 and Astronaut
NASA's Robonaut2 and an Astronaut

Robots have fascinated people for generations, and have become more and more present in our lives. Today, robots are built for applications as diverse as exploring remote planets, de-mining war zones, cleaning toxic waste, assembling cars, managing warehouses, inspecting pipes in industrial plants, and mowing lawns. Robots also interact with humans in a variety of ways: robots are museum guides, robot pets entertain, and robots assist surgeons in life-saving operations. Very soon we will see commercially available self-driving cars. Moreover, due to COVID-19, robots have been applied to improve the safety of people, by disinfecting areas, delivering items, providing telepresence, and manufacturing PPE.

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 algorithms that make robots work—how does a robot decide to go from point A to point B, pick up an object, or figure out how to assemble an IKEA table? The class integrates elements from artificial intelligence, computational geometry, computer graphics and animation, and mixed reality systems. This is a class on algorithms and artificial intelligence, not a class on robot hardware and control. It is an ideal class for an advanced introduction to robotics.

To get a glimpse of what we will be discussing, come to the first class. If you have any questions, please contact the instructor of the course.

Undergraduate and Graduate Offering of the Class

If you are an undergraduate, please register for COMP/ELEC/MECH 450. Undergraduates who want to take the graduate version of the class (for example, undergraduates who will use this class for their MS degree) should contact the instructor. If you are a graduate student, please register for COMP/ELEC/MECH 550. The graduate version of the class includes additional work beyond what is required for the undergraduate class.

Who is This Class For?

This class is for students in computer science as well as electrical engineering, bioengineering, and mechanical engineering. The class requires mathematical maturity, knowledge of algorithms, and knowledge of a programming language. Java, C++, or C are recommended, but not required. At the beginning of the class, several resources will be shared to help students acquire the programming background that they need. For example, if a project is in C++ and you know Java, we will provide help: see here for a guide to transitioning to C++. Help will be provided to the students who need it. Please contact the instructor if you are concerned about your programming background. The instructor can discuss the prerequisites with you and determine if they can be waived.

Prerequisites can be waived for non-CS students after talking to the instructor. In general, if you believe you have the mathematical sophistication to take the class, please contact the instructor. Prerequisites do not apply to graduate students.

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. This class will be on zoom so please follow the zoom session if you do not feel well..

Important Announcement

Waymo's Autonomous Vehicle
Waymo's Autonomous Vehicle

If this class is full and you really want to take it, please get in touch with the instructor.

When?

Tuesdays & Thursdays 1:00–2:15pm
This class will start on line.

Instructor

Instructor: Professor Lydia Kavraki
Email: kavraki/AT/rice/DOT/edu
Web page: Check Dr. Kavraki's group website for her work in robotics.

Class Material

Class material will be distributed through Canvas.