CS151R

Welcome to Introduction to Robotics! In this course, you will learn the fundamentals of robotics and use them to create your very own autonomously flying drone!

Syllabus


Course Goals

Each student will build and program their own small quadcopter. The course will provide basic components and a small number of replacement parts. We will cover PID controllers for stable flight, localization with a downward facing camera, mapping, and autonomous planning. At the end of the semester, students will take home a functioning autonomous quatdcopter.

We will cover the following topics:

  • Sensing and actuation.
  • Safety and ethics.
  • PID controllers.
  • Localization and mapping.
  • High-level programming.
  • Networking and message passing.

Grading

The course will consist of projects, assignments, lectures and exams. Your grade will be made up of:

  • Projects (50%). You will be graded on a lab reports as well as getting checked off by the staff for demonstrating a certain capability.
  • Assignments (25%)
  • Exams (25%)

Projects and assignments will be due at 11:59pm on the day of the deadline.

Extra Credit for Outreach

You can obtain 15 points of extra credit applied optimally on projects, assignments, and exams for using your robot for an outreach activity during the semester. We will provide opportunities, or you can seek out your own opportunities. For example, we would like to provide a drone demonstration at the CS4RI Summit on December 13th. Alternatively you could arrange your own outreach. For example, you could arrange a drone demo at your local library over Thanksgiving break, or coordinate with a local elementary school to demonstrate the drone at one of their science classes. For it to count as outreach, it has to be with a formal organization (so a demo to your friends doesn’t count, but a demo to your friends in WiCS as part of a WiCS event would count). You are encouraged to do this in collaboration with others in the class. (You will all receive extra credit in this case.) To obtain extra credit, email the staff a report of your activity along with (ideally) a photograph. We would like to post it on the course blog, so your email should be a draft blog post, and state who, what, where, why, and when.

If you do this, be sure to test out the site in advance, bring adequate batteries, and take adequate safety precautions! You are strongly encouraged to consult with us in advance, we want to help your demo be a success!

Drones

We will provide all parts for a drone, plus a reasonable number of replacement parts for the inevitable crashes. You will also need a base station laptop. We will have a limited number of these to loan out, but we hope most students can use their own laptop for this purpose. Please contact us if you’d like to borrow a laptop.

Due to the equipment needs, we are only allowing 30 students to take the course.

Safety

Please read this policy carefully.

This drone can inflict serious bodily harm. You should treat it as you would a dangerous chemical or heavy equipment such as a lathe. It can move very quickly; faster than if you dropped it from a 3 story building. It is your responsibility to learn and apply all safety guidelines and rules in order to keep yourself and everyone around you safe when operating the drone.

  1. You agree to follow all guidelines on the FAA Website.

  2. If your drone injures a person or damages any property, you will be held responsible, whether or not you are present.

  3. If you are flying a drone that injures a person or damages any property, you will also be held responsible.

  4. If you are not following guidelines from the course staff, you will be held responsible for any damage or injury.

  5. I agree that all observers and participants will wear safety glasses.

Workload

This course will be a substantial time commitment. If you are unable to allocate 10+ hours a week, please consider taking the course next year when the capacity will be higher. Tuning a PID can be a time consuming process even for a veteran.

That being said, hard work will lead to success with high probability. We put the hardware through many revisions and tested multiple choices for each component, ultimately choosing parts based on robustness and performance. If hot glue is employed as prescribed, we are confident that your drone could survive many crashes of magnitude beyond those your unit will experience (skimp on the glue and your flight controller USB port will snap on the first crash). The projects and research pipeline have been devised to allow the safe development of capabilities through proper ordering and test equipment.

Late Policy

Up to four late days total on projects and labs will be allowed. A single day cannot be subdivided between assignments but the three days will be applied optimally at the end of the semester. After the three days are applied, a penalty of 10% per day will be in effect (i.e. max point will become 90, then 80, etc).

Sometimes there are special circumstances during the semester that result in exceptions to this late policy. All such circumstances require permission from the instructor. In general if you have any problems it’s a good idea to contact the Deans because they can help balance your course load and take the pressure off in difficult situations.

Colaboration Policy

Please read this policy carefully.

We strongly encourage teaching and learning with your peers. We also strongly encourage taking advantage of Wikipedia and other online sources during your education. We want every sufficiently motivated student in the course to be able to understand and complete all the homeworks and projects. At the same time, your work must, in the end, represent your own understanding of the material.

  • Using the internet: This course will have significant technical components, and we expect you to make use of the online resources to solve some technical problems like interfacing with components and installing packages. Finding solutions online is an important skill! However, you may not make use of the internet to find implementation details (code, pseudo-code or otherwise) of the algorithms and systems we are asking you to develop.

  • Using your peers: You may discuss ideas and debug with your peers. However, keep you will be assessed individually on exams (which may involved randomized components), so get in the habit of seriously thinking about each problem alone before looking for peer and online help.

Textbook

The textbook is Probabilistic Robotics by Sebastian Thrun, Wolfram Burgard and Dieter Fox. 2005.

Special Needs

Please inform Professor Tellex (stefie10@cs.brown.edu) if you have a disability or other condition that might require some modification of any of these course procedures. You may speak with her after class or during office hours. For more information, contact Students and Employee Accessibility Services at 401-863-9588 or SEAS@brown.edu.

Assignments


We are asking you to do shorter homework assignments to broaden your understanding of the material and explore some areas not directly addressed by the drone projects. Assignments are due at 11:59pm on the due date. Please use a handin script to hand in the assignment.

AssignmentOutDueSolutions
Assignment 0: Course Form TH 9/7 T 9/12 No Reference Answers
Assignment 1: Introduction TH 9/7 FR 9/15 Answers
Assignment 2: Safety TH 9/14 TH 9/21 Answers
Assignment 3: Networking 9/21 9/28 Answers
Assignment 4: Debugging 9/28 10/5 Answers
Assignment 5: ROS 10/5 10/12 Answers
Assignment 6: Sensors 10/24 11/2 Not Yet Available
Assignment 7: Transforms 11/2 11/9 Not Yet Available
Assignment 8: Applications 11/9 11/28 Not Yet Available
Assignment 9: Motion Planning 11/28 12/7

Projects


The projects are where you get to build and fly a drone. You will get hands-on practical experience with the robot. The Law of Leaky Abstractions is especially relevant to a robot. And you are working on a new robot that we have designed specifically for the class. In short, things will go wrong. It is important to think systematically about what is happening and debug each piece of the system and make sure it is working on its own before putting things together. There are many reasons why something might fail, ranging from a flakey network connection to bad lighting for the camera to a bug in the code, and we will all need to work together to figure things out. Don’t hesistate to come to office hours if you get stuck or need help!

Safety is extremely important whenever flying a drone. Please be very careful to follow all safety precautions we recommend. Never fly the drone over people, and never try to catch the drone when it falls. Crashes are part of flight - they will happen. We have replacement parts, but we expect you to fix your drone when it crashes.

ProjectOutDueSolutions
Project 1: Build Your Drone 9/14 9/28 Not Yet Available
Project 2: PID for Altitude Hover 9/28 10/12 Not Yet Available
Project 3: Velocity Control in the Plane 10/24 11/9 Not Yet Available
Project 4: Position Control in the Plane 11/9 11/30 Not Yet Available
Project 5: Programming Robots 11/30 12/12 Not Yet Available

Schedule


Schedule is subject to change.

Date Lecture Assignment Project
TH 9/7 Lecture 1: Introduction (Slides, Notes) Assignment 0 out (Application); Assignment 1 out (Introduction)
TU 9/12 Lecture 2: Safety and Ethics (Slides, Notes) Assignment 0 due
TH 9/14 Lecture 3: Cybernetics (Notes) Assignment 1 due (extended to Friday 9/15)/Assignment 2 out (Safety) Project 1 out (Build your drone)
TU 9/19 Lecture 4: Networking (Slides, Notes)
TH 9/21 Lecture 5: Networking Continued (Slides, Notes) Assignment (Safety) 2 due/Assignment 3 (Networking) out
TU 9/26 Lecture 6: ROS (Slides, Notes)
TH 9/28 Lecture 7: ROS and PID Controllers (Slides) Assignment 3 (Networking) due/Assignment 4 (Debugging) out Project 1 due (Build your drone)/Project 2 out (PID for Altitude Control)
TU 10/3 Lecture 8: Guest Lecture: Adam Bry, CEO of Skydio
TH 10/5 Lecture 9: ROS and PID Controllers (Notes) Assignment 4 (Debugging) due/Assignment 5 (ROS) out
TU 10/10 Lecture 10: PID Controllers
TH 10/12 Sensors Assignment 5 (ROS) due Project 2 due (PID for Altitude Control)
TU 10/17 Midterm Review
TH 10/19 Midterm
TU 10/24: Sensors Assignment 6 (Sensors) out Project 3 out (Velocity Control in the Plane)
TH 10/26 Tennis Court Day
TU 10/31 Sensors and Transforms
TH 11/2 Transforms: Rotation and Translation Assignment 6 (Sensors) due/Assignment 7 (Transforms) out
TU 11/7 Transforms: Rotation and Translation
TH 11/9 MDPs and POMDPs Assignment 7 (Transforms) due/Assignment 8 out Project 3 due (Velocity Control in the Plane) / Project 4 out (Position Control in the Plane)
TU 11/14 Guest Lecture: Andy Trench, Founder and CEO of XactSense
TH 11/16 Guest lecture: Yoav Artsi
TU 11/21
TH 11/23 (No Class, Happy Thanksgiving!)
TU 11/28 Guest Lecture: Prof. Iris Bahar Assignment 8 due/Assignment 9 out
TH 11/30 Project 4 due (Position Control in the Plane)/Project 5 out (Programming Robots)
TU 12/5
TH 12/7 Tennis Court Day II (tentative) Assignment 9 due
TU 12/12 Lecture: Final Review Project 5 due
TH 12/14Final Exam 2:00pm, Exam Group 10

Hours


If you do not have elevator or key access to the location where hours are being held, please send an email to the TA or Professor holding those hours and they will let you in.

DayTimeLocationProfessor/TAs
Thursday 2:30pm-4:30pm Robotics Lab, CIT 121 Stefanie
Monday 5:00pm - 7:00pm Robotics Lab, CIT 121 Josh
Tuesday 10:00am - 12:00pm Robotics Lab, CIT 121 Aaron
Tuesday 7:00pm - 9:00pm Robotics Lab, CIT 121 Izzy
Friday 12:00pm - 2:00pm Robotics Lab, CIT 121 Lena
Weekdays 1:00pm - 6:00pm IoT Lab, ScliLi 8th Floor HCRI Student Workers

FAQ


Can I have an extension?

Please see the course late policy in the Syllabus. Almost all extensions should be handled through this mechanism. Exceptions will need a note from the Dean. However if you have a problem, we encourage you to reach out to the Office of Student Life, as they can help in many other ways as well.

My drone isn’t flying!

Come to office hours and we will try to help! It is useful to debug piece by piece. Does it power on? Can you fly with the RC controller? Can you connect to the Pi? Do all the sensors work?

Staff


Professor

Stefanie Tellex

MS FRIZZLE

Grad TA

John Oberlin

LIZ

Head TAs

Izzy Brand

KEESHA

Josh Roy

ARTHUR

Undergrad TAs

Aaron Ray

RALPHIE

Lena Renshaw

DOROTHY ANN