Skip to content

ECE470

ECE470 (Introduction to Robotics) is a 4-credit-hour course that counts as an Advanced Computing Elective for CEs and as a Hardware Lab for EEs. It is offered in the fall and spring. This course is the same as AE 482 and ME 445.

Content Covered

  • Probablistic state estimation
  • Forward kinematics
  • Inverse kinematics
  • Velocity kinematics
  • Trajectory generation and motion planning
  • Perception and filtering

This course is intended to serve as an introduction to foundations in modern robotics. Concepts such as degrees of freedom, configuration spaces, and constraints are covered along with the differential equations and matrix algebra used to represent them. Then, you will cover frame transformations, forward kinematics (given joint angles, where is the end-effector of the robot?), and velocity kinematics (what joint speeds to we need to make the end-effector move at a certain velocity?). After this, you will cover inverse kinematics (what joint positions do we need to position the end-effector in a specific location?) and briefly discuss trajectory generation, motion planning, and perception and filtering (discrete Bayes filter). In lecture, all of these topics are discussed alongside the differential equations and linear algebra needed to calculate them.

In the lab section, you will mostly focus on implementing the topics from lecture on a UR3 robot arm using ROS and Python. However, for the final lab (as of Spring 2023) you will use OpenCV to detect and stack colored blocks.

Prerequisites

  • One of MATH225, MATH286, MATH415, MATH418

Since MATH286 is no longer offered by the department, it seems that the prerequisites have not been updated. However, this class requires a solid understanding of linear algebra and at least some exposure to differential equations, although there is a review of both at the beginning of the semester. MATH286 has been broken into MATH257 (Linear Algebra with Computational Applications) and MATH285 (Intro Differential Equations) so taking both of these courses is the recommended prerequisite, although it is possible to take this course without MATH285.

Although there is no official preqrequisite, it is recommended that you have some experience in Python, since much of the lab component relies on that. Depending on the professors, C++ and/or MATLAB may also be required.

When to Take it

This course is a good introduction to the world of modern robotics and is one of the more accessible tech electives since it does not require any upper-level ECE courses as prerequisites. The difficulty of this course varies with the professor, since the structure changes dramatically. Taking this course allows you to take ECE489 (Robot Dyamics and Control) as well as prepares you for other robotics courses at UIUC.

Course Structure

The course structure varies based on the primary instructor teaching it that semester. However, it generally includes 2 1.5-hour lectures and 1 2-hour lab per week.

In Spring 2023, with Prof. Katie Driggs-Campbell, there was 1 PrairieLearn homework per week, along with 3 CBTF quizzes. The labs were partner-based, but the final lab was in groups of 3. The homework is generally quite conceptual and challenging, but many quiz questions were similar to the homework.

Instructors

Professor Mohamed-Ali Belabbas and Professor Katie Driggs-Campbell are the course directors. As of Spring 2024 Prof. Mohamed-Ali Belabbas is teaching the lecture portion, with TAs running the lab sections.

There may be additional guest lectures from various robotics-affiliated professors that occur throughout the semester, time permitting. Previous guest lecturers have included:

  • Prof. Justin Yim
  • Prof. Holly Golecki
  • Prof. Kris Hauser

Course Tips

This course can be quite mathematically rigorous, depending on the format of the quizzes/exams. Make sure you understand the underlying math behind the concepts, instead of just memorizing the formula at the end.

For the labs, try to work ahead if you can. Some of the later labs will require >2 hours to finish, so build up as much extra time as you can to reduce the amount of time spent outside of class.

Life After

This class is related to control theory, so ECE486 or SE420 are recommended if you wish to continue in that direction. ECE489 (Robot Dynamics and Control) is the immediate follow-up to this course. CS424 (Real-Time Systems), SE423 (Mechatronics), and CS431 (Embedded Systems) are all related to robotics as well.

Resources

Textbook: "Modern Robotics: Mechanics, Planning, and Control"