EECS C106A. Introduction to Robotics

Catalog Description: This course is an introduction to the field of robotics. It covers the fundamentals of kinematics, dynamics, control of robot manipulators, robotic vision, sensing, forward & inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, & control. We will present techniques for geometric motion planning & obstacle avoidance. Open problems in trajectory generation with dynamic constraints will also be discussed. The course also presents the use of the same analytical techniques as manipulation for the analysis of images & computer vision. Low level vision, structure from motion, & an introduction to vision & learning will be covered. The course concludes with current applications of robotics.

Units: 4

Prerequisites: Familiarity with linear algebra at the level of EECS 16A/EECS 16B or Math 54. Experience coding in python at the level of COMPSCI 61A. Preferred: experience developing software at the level of COMPSCI 61B and experience using Linux.

Credit Restrictions: Students will receive no credit for Electrical Engineering and Computer Science C106A/Bioengineering C106A after completing EE C106A/BioE C125, Electrical Engineering 206A, or Electrical Engineering and Computer Science 206A.

Formats:
Summer: 6.0 hours of lecture, 2.0 hours of discussion, and 6.0 hours of laboratory per week
Spring: 3.0 hours of lecture, 1.0 hours of discussion, and 3.0 hours of laboratory per week
Fall: 3.0 hours of lecture, 1.0 hours of discussion, and 3.0 hours of laboratory per week

Grading basis: letter

Final exam status: Alternative method of final assessment

Also listed as: MEC ENG C106A, BIO ENG C106A


Class Schedule (Fall 2022):
TuTh 11:00-12:29, Lewis 100 – Koushil Sreenath, Prof. S. Shankar SASTRY, PhD

Fall 2022 class homepage

Class homepage on inst.eecs

General Catalog listing


Department Notes: Prerequisites: Familiarity with linear algebra at the level of EECS 16A / EECS 16B or Math 54. Experience coding in python at the level of COMPSCI 61A. Preferred: experience developing software at the level of COMPSCI 61B and experience using Linux.