CSE176e/276e: Robotic System Design and Implementation

To achieve great things, two things are needed: a plan and not quite enough time.

-- Leonard Bernstein

Instructor: Steven Swanson

TA: Shiladitya Biswas

Course Overview

Details about the project and labs are here: https://github.com/NVSL/QuadClass-Resources/

The goals for the course are for you to learn how to design, assemble, and program a moderately complex electronic device. The device you will build is a small, remote-controlled quadcopter similar to this:

In particular, you'll learn and/or practice these skills/topics:

  • How quadcopters work.

  • How to fly a quadcopter.

  • How the various components (motors, gyros, compass, etc.) work.

  • How to design printed circuit boards.

  • Some control theory.

  • Soldering.

  • Assembly and testing of simple computing devices.

  • Microcontroller programming (the quadcopters will be Arduino-based).

  • Team work and coordination with other teams.

  • All the other practical things you learn by working on a real, challenging project.

Course Structure

There will be some lectures, but mostly this is a class where you will learn by doing. Lecture slides will be available via the course github repo (see below).

There will be ~10 labs, but they are each substantial and we will finish 8 of them by week 6. If you fall behind, it will be hard to catch up, and if your tape-out date slips, it will be very difficult to complete the project.

The schedule the course is below (This is in flux for Winter 2021):

Dealing with COVID

Due to COVID this course will be taught online. This will necessitate several changes to the course. Here's the plan:

  1. We will be shipping reference-design quadcopter and remote controls to students. This will let you develop the flight control software for the quadcopters. You will need a space for testing your quadcopter.

  2. You'll work in pairs. Each student will get their own hardware setup, but pairs will collaborate on their flight control software and PCB design.

  3. We will still be learning about PCB design, and you will be designing a PCB.

  4. We might be able to (optionally) manufacture and assemble the PCBs. I have reserved the Maker Studio during class time for the quarter. If you (and I) feel it is safe, you can assemble your quadcopters. Whether this is possible depends on how COVID is doing.

  5. If assembling your quadcopter is not possible, assembly will not be part of the course for you and you will be expected to devote the time to refining your flight control software.

Quadcopter Class Plan

The schedule is very aggressive. We will be starting a new lab each class meeting during the first few weeks. This compressed schedule has three goals. First, to let us manufacture the boards for the quadcopters by week 6 or so. Second, to give you as much time as possible to get your quadcopter flying once you assemble it.

Lab and Class Hours

Class will be online. The synchronous meeting time will be 3-4:30, Tuesday and Thursday. If we end up assembling the quadcopters, it will occur during this time. We will work out the details of asynchronous meetings/office hours later, but they will be available.

Want to TA?

Fill out this form.

The ideal TA would have significant in experience in at least one of: Embedded programming, control algorithms, or electronics and PCB assembly.

Want to Take it?

I'm interested in having students with a range of backgrounds and levels of previous experience. The most important thing is that you be enthusiastic about the project, ready to learn by doing, and willing to work in a group on challenging and exciting project. The class will put a lot of emphasis on working together with your team.

Grad students are also welcome, but keep in mind that the project in this course is much larger than as typical for a graduate class. It will take a lot of your time.

The class must be taken for 4 units and for a grade. Auditing is not allowed.

The class is by permission of the instructor only and enrollment is limited. You'll need to fill out this form. You'll need to have at least some experience with electronics, but it can be pretty minimal. Applications are due by the end of week 8 and decisions will be made by the beginning of week 9.

Important: The class meets 9:30-11 Tuesday/Thursday. After class from 11-12:30, there will be lab hours. You should not take the class if you can’t regularly make the lab hours. They essential to completing the course project. No exceptions.

If you have any questions, please contact me at swanson@cs.ucsd.edu.