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: TBA
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 representative schedule for the course is below. The details will change for Fall 2024, but the breakneck pace will remain :-)
The schedule is very aggressive. We will be starting a new lab each class meeting during the first few weeks. This compressed schedule has two 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.
Prerequisites
There are no formal prerequisites. Juniors and Seniors in engineering majors that include programming seems to do fine. If you don't know anything about circuits, I would partner with someone who does.
The course teaches:
A good introduction to PCB design (no prior experience required)
Very simple control theory (no prior experience required)
The pain and joy of building a working, physical thing (no prior experience required)
It relies on
Basic circuits (Mostly Ohms Law-level stuff). If you understand inductance and filters, it'll help a little bit.
Basic programming skills (We use Arduino/C++, but the course doesn't include it)
Lab and Class Hours
Class will be help in the Envision Makerspace, in person from 9:30-12:30, Tuesday and Thursday.
Want to TA?
Fill out this form.
The ideal TA would have significant 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 a 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 is 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. You'll need to have at least some experience with electronics, but it can be pretty minimal.
The class is by permission of the instructor only and enrollment is limited. You'll need to fill out
The form will close for applications sometime after Friday of week 8 (basically whenever I get around to looking at applications), so you're strongly encoraged to apply before then.
Decisions will be made by the beginning of week 9 by the end of week 10.
Important: The class meets 9:30-12:30 Tuesday/Thursday. Technically, it's 1.5 hours of lecture followed by 1.5 hours of lab. You should not take the class if you can’t regularly attend the entireclass period. They are essential to completing the course project. No exceptions. Also, the class in not podcast. In person attendence is required.
If you have any questions, please contact me at swanson@cs.ucsd.edu.