Stefanie Tellex, stefanie_tellex@brown.edu. Office hours by appointment.
The aim of this course is to empower people to build robots. Students will build, program, and fly an autonomous drone. We will cover everything needed to program an autonomous robot, including safety, networking, state estimation, controls, and high-level planning. Although the course focuses on an autonomous drone, we will provide a broad overview of modern robotics, including some topics relating to autonomous ground vehicles and robotic arms.
There are no prerequisites for this course.
Each student will build and program their own small quadcopter. The course will provide basic components and a small number of replacement parts. After taking this course, students will be able to:
Explain the space of designs for robotic communications, safety, state estimation, and control.
Apply that knowledge to construct programs for communications, safety, state estimation, and control.
Build, program, and operate an autonomous robot drone.
The course will consist of projects, assignments, and lectures. There will be no exams to allow you to focus on the programming assignments on your drone. Your grade will be made up of:
Attendance and Participation (20%). The course lectures are online, but you are still required to attend and actively participate in the lecture period, which is Tuesday and Thursday from 10:30-11:50 in the Science Library 8th floor.
Learning Experiences (60%). You will be graded by getting checked off by the staff for demonstrating a certain capability on your computer for your drone. You will be sharing the drone with a team of students, but for checkoffs, you must demonstrate the capability yourself running on your computer (and so must each of your teammates).
Group Project (20%). You will work with the course staff and your team to design and build a new capability for the drone
You can obtain 15 points of extra credit applied optimally on projects, assignments, and checkoffs for using your robot for an outreach activity during the semester. 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 a photograph or video.
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!
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.
There is no cost to students for course materials: the drone kit, replacement parts, and all textbook and reference materials are provided free of charge.
Due to the equipment needs, we are only allowing 30 students to take the course.
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.
You agree to follow all guidelines on the FAA Website.
If your drone injures a person or damages any property, you will be held responsible, whether or not you are present.
If you are flying a drone that injures a person or damages any property, you will also be held responsible.
If you are not following guidelines from the course staff, you will be held responsible for any damage or injury.
I agree that all observers and participants will wear safety glasses.
This course will be a substantial time commitment, totaling at least 180 hours over the 15-week semester (an average of 12+ hours a week), including lecture/lab time, assignments, and projects. If you are unable to allocate 12+ hours a week, please consider taking the course during a semester when you will have more time. Tuning a PID can be a time consuming process even for a veteran.
Up to eight late days total on projects and labs will be allowed. A single day cannot be subdivided between assignments but the late days will be applied optimally at the end of the semester. After the late days are applied, a penalty of 10% per day will be in effect (i.e. max point will become 90, then 80, etc). We understand that sometimes you may need to use extra late days because it takes time to meet with a staff member to get checked off. We have increased the number of late days to account for this.
Sometimes there are special circumstances during the semester that result in exceptions to this late policy. All such circumstances require permission from the instructor, and usually a letter from the dean. 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.
Brown University’s academic standards require that all work you submit for this course be your own, and that any assistance you receive be properly disclosed as described in the Collaboration Policy below. Academic integrity violations, including plagiarism, unauthorized collaboration, and undisclosed use of AI tools, will be reported to the Office of Student Conduct and Community Standards and may result in disciplinary action up to and including suspension or expulsion. If you are ever unsure whether something is permitted, ask the course staff.
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!
Using your peers: You may discuss ideas and debug with your peers. However, keep you will be assessed individually on checkoffs, so get in the habit of seriously thinking about each problem alone before looking for peer and online help.
Using AI tools: You may use AI-based tools (e.g. ChatGPT, GitHub Copilot, Claude) to help with assignments and projects, including generating code, debugging, and explaining concepts. However, you must disclose your use of these tools: when you demonstrate your work at your oral checkoff, tell the staff member which tool(s) you used and how (e.g. “used ChatGPT to debug a ROS topic subscription error” or “used Copilot to autocomplete boilerplate code”). Undisclosed use of AI tools is considered an academic code violation that may be prosecuted. As with internet resources, you must be able to explain and defend every part of your code and your understanding of the material, since checkoffs are conducted individually and orally rather than through written exams. If you cannot explain how or why your code works during the checkoff, you will not receive credit. If you have any questions about what counts as acceptable use or disclosure, please contact the course staff.
Everything you need for the class is in the operations manual and the Duckiesky textbook on the Duckietown website. The operations manual is a reference that describes how to build and fly the drone; it is a detailed reference on the system architecture, hardware components, and web interface.
Please inform Professor Tellex (stefanie_tellex@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.