Design of Autonomous Systems

Instructor: Prof. Sibin Mohan, The George Washington University

CSCI 6907/3907 | Spring 2025 | TR 12:45PM - 02:00PM ET | TOMP 310

This course will take a "full stack" view of designing autonomous systems -- from low-level embedded/sensor programming to real-time/OS scheduling and sensor fusion all the way up to SLAM, object detection/avoidance and planning. Students will work with real hardware (an autonomous rover equipped with embedded processors, sensors and operating systems). The goal is to provide a deep and broad understanding of the design of such systems as they interact with the real world. Autonomous cars, unmanned aerial/ground/water vehicles, robots, etc. are examples of systems that we intend to explore.


Autonomous Systems

We will cover topics related to:

Hands-on exercises will explore real hardware rovers, software simulations and working with real embedded processors and sensors.

Target Audience

Undergraduate and graduate students in CS, ECE, Robotics, AI and even other departments who want to explore topics related to the design of autonomous systems.

Credit:

Table of Contents

Course Textbook

All of the content, in longform, is collected in the: online textbook.

Note that this is a work in progress.

Schedule and Lectures

Chapter Topic Links
1 Introduction online slides PDF textbook chapter
2 Course Administrivia online slides PDF
3 Embedded Architectures online slides PDF textbook chapter
4 Embedded Communications online slides PDF textbook chapter
5 Sensing and Sensors online slides PDF textbook chapter
6 Real-Time Operating Systems (RTOS) online slides PDF textbook chapter
7 Robot Operating Systems (ROS) online slides PDF textbook chapter
8 Scheduling online slides PDF textbook chapter
9 Scheduling | Priority-Based Schedulers | RM & EDF online slides PDF textbook chapter
10 Control Theory online slides PDF textbook chapter
11 Actuation and PWMs online slides PDF textbook chapter
12 Lab 1 | Intro to Raspberry Pi+Navio2 online slides PDF
13 Lab 2 | Working with Sensors on Raspberry Pi online slides PDF
14 Lab 3 | IMU Data on Navio2 Board online slides PDF
15 Lab 4 | Working with ROS online slides PDF
16 Lab 5 | Working with ROS [contd.] online slides PDF
17 Lab 6 | Intro to Rover Hardware and Actuation with ROS online slides PDF
18 MP 1 | Detecting Motions from Sensors | due FEB 13 [6:00 PM] online slides PDF
19 MP 2 | RM and EDF Scheduling | due MAR 3 [6:00 PM] online slides PDF

[Slides last built at 2025-02-20 17:28:48.]


Course Staff

Position Name Email
Instructor Prof. Sibin Mohan sibin.mohan@gwu.edu
Grad TA Indumathi Madhu indumathi.madhu@gwmail.gwu.edu
Undergrad TA Derek Chen dchen36@gwmail.gwu.edu
Grader Tejaaswini Narendaran tejaaswini.narendran@email.gwu.edu

Course Details

Detail Information
Time: TUE/THUR 12:45 -- 2:00 PM ET
Location: Tompkins Hall [TOMP] 310
Discussion Section Times: TUE: 2:15 -- 3:15 PM ET
THUR: 11:00 AM -- 12:00 PM ET
Discussion Section Location: SEH 4040
Prof. Mohan office Hours: TUE/THUR 2:30 -- 3:30 PM ET [SEH 5830] *
TA Office Hours: Follow this calendar link.
Location: Outside SEH 4000
Contact: please message on Discord
[* Please message ahead of time and set up alternate slot in case of conflicts for office hours.]

Note: Make sure that you're properly preparing and presenting yourself at office hours!

Communication

We will use Discord for all course related communications.

Grading Rubric and Criteria

Component % Grade
MP 1 | Detecting Motions from Sensors 15 %
MP 2 | Real-Time Scheduling 15 %
MP 3 | EKF 20 %
MP 4 | Rover Programming and Control 25 %
Discussion Section Mini Assignments 15 %
In-Class Participation 10 %

Important Note about Grading: We use automated grading scripts. If your code does not pass these scripts, then you will be penalized accordingly.

Conversion from numerical to letter grade is as follows:

Range 95 to 100 90 to 94 87 to 89 83 to 86 80 to 82 77 to 79 73 to 76 70 to 72 67 to 69 60 to 66 50 to 59 < 50
Letter Grade A A- B+ B B- C+ C C- D+ D D- F

Note: ONLY talk about your final grade with Prof. Sibin Mohan. None of the other instructional staff have access to grades or the ability to modify them.

In Class Participation

I encourage you to ask questions and ask often. Participate in discussions as well. Take notes since that helps with the learning.

Policies

Expectations and Responsibilites

Student Responsibilites: Students must,

We will work with you to come up with a plan to be successful in the class.

We also need your feedback for parts of the class that aren't working for you. We do our best in running the class, but certainly make mistakes, or overlook different aspects. Class evaluations are of limited use since they only are given at the end of the class. Please provide feedback using the linked feedback form on Piazza.

Professor and Instructional Staff Responsibilities

You should depend on the instructional staff (including Sibin) for the class to:

These can be remembered as "we're here to make it clear what you should do, what you should know, and what to do if you don't feel like you know what you're supposed to do or know".

If at any point, you have concerns about any of these, of if we're dropping the ball on any of them, please let us know and we'll do better.

There are trade-offs made in the class (for example, MPs are not formally specified as I don't want them to be 50 pages each), but you always encouraged to ask questions and clarify.

Further, it is our intent that students from all diverse backgrounds and perspectives be well-served by this course, that students’ learning needs be addressed both in and out of class, and that the diversity that the students bring to this class be viewed as a resource, strength and benefit.

It is our intent to present materials and activities that are respectful of: gender identity, sexuality, disability, age, socioeconomic status, ethnicity, race, nationality, religion, and culture.

Your suggestions are encouraged and appreciated. Please let us know ways to improve the effectiveness of the course for you personally, or for other students or student groups.

Late Submission Policy for MPs

Submission/due dates are announced along with the MP descriptions.

You have a total of 3 "grace" days to use during the term. You can use those to submit whatever assignment(s) you want late. E.g. you can turn in one assignment 2 days late, the other 1 day late. Or turn in 3 assignments, each 1 day late. If you want to use these late days, indicate so in the comment box when you submit it.

You start losing 20% of the points per day after the grace days you use. E.g., if the assignment is due on Tuesday, and you turn it in on Wednesday without saying anything, you lose 20 points. If you use 1 grace day, and turn it in on Wednesday, you don't lose any points; but if you turn it in on Thursday, your final grade will be Your Earned Grade - 20. On Friday, it will be Your Earned Grade - 40.

An assignment can be at most three days late: so in our example, if you turn in the assignment Saturday, the grade is 0.

The point of this policy is to balance the need to be fair to those who turn in their assignments on time, with the need to recognize that sometimes, stuff happens and you just can't do all that's expected of you. Why have deadlines at all? Because almost everything in life does, and this is a small-stakes environment to practice that. Also, we can't grade everything at once.

Beyond this, the only acceptable excuses for late submissions are medical and family issues (or other exceptions like sports/athletics) but any of these will need confirmation from Prof. Jason Zara (Associate Dean of Undergraduate Affairs) or the coach/atheletic departments.

Generally unacceptable excuses include:

You get 0 credit for late work that is unexcused.

Collaboration, the Honor Code and Cheating

You are encouraged to work together. You may discuss the MPs with other people to understand the problem and reach a solution. However, each student/group must write down the solution independently, without referring to written notes or code from others. Hence, you must understand the solution well enough to discuss it yourself. In addition, each student/group must explicitly mention the names of the people with whom they collaborated.

If I suspect cheating##, I might have the student(s) come and answer questions in my office. If my suspicions are confirmed, I will consider a range of possibilities (depending on the seriousnes of the offence) that includes any/all of the following:

  1. a 0 on that MP/section,
  2. an F for the entire course and
  3. report the student to for an academic integrity violation.
(## we will use a number of methods to detect cheating that includes, automated software, eyeballing the code, talking to the student, etc.)

The purpose of problem sets in this class is to help you think about the material, not just give us the right answers. You are encouraged to use online resources for learning more about the material covered in class; however, you should not look for or use found solutions to questions in the problem sets. Specifically, you must not look at any code that has been created to solve the assignment, including solutions found on the internet to questions in the problem sets, code created by a student in a previous class or code created by a current classmate. (Though frankly, I seriously doubt you'll find anything, I regularly change the assignments).

ChatGPT, Github CoPilot and Other Code Generation Tools

The use of ChatGPT, GitHub CoPilot and any/all other code generation tools (that currently exist or will be developed in the future) is expressly forbidden!

If any student is found using such tools then it will be considered a violation of academic integrity and reported appropriately.

Academic Integrity

Academic Integrity is an integral part of the educational process, and GW takes these matters very seriously. Violations of academic integrity occur when students fail to cite research sources properly, engage in unauthorized collaboration, falsify data, and in other ways outlined in the Code of Academic Integrity. Students accused of academic integrity violations should contact the Office of Academic Integrity to learn more about their rights and options in the process. Outcomes can range from failure of assignment to expulsion from the University, including a transcript notation. The Office of Academic Integrity maintains a permanent record of the violation.

Familiarize yourself with the standards set forth in the GWU Code of Student Conduct and specifically the University’s “Guide of Academic Integrity in Online Learning Environments". If there is any question about whether an act constitutes academic misconduct, it is your responsibility to seek clarification and approval from the instructor prior to acting. When in doubt, ask, or don't do it.

Contact information:

Absence Policy

If you miss a class, for whatever reason, you are still responsible for that class' material. Go through the lectures, consult the scribe notes, come to office hours (in that order), and talk to your fellow students, to learn the material.

Grade Review Policy

You have one week after a grade is released to ask us questions about it and seek a correction. After the week has passed, the grade is finalized. When releasing a grade, we may also post comments where appropriate, explaining where you lost points, made mistakes, etc.

In case you are seeking a correction to the grade, you need a specific reason: e.g., your reasoning on MP 1.a was essentially correct but your written explanation, you now realize, was ambiguous; our comments say that your model had errors and I couldn't run it, but you can run it fine on your machine; etc. I cannot accommodate general requests that are a variation on "I think my grade was too low". Why do you think that? Based on our discussion, we might increase the grade, decrease it, or leave it as is.

Of course, you can stop by anytime during the term to ask questions about any part of the material. The one-week deadline applies to grade-specific questions.

Use of Electronic Course Materials and Class Recordings

Students are encouraged to use electronic course materials, including recorded class sessions, for private personal use in connection with their academic program of study. Electronic course materials and recorded class sessions must not be shared and must not be used for non-course related purposes unless express permission has been granted by the instructor. Students who impermissibly share any electronic course materials are subject to discipline under the Student Code of Conduct. Please contact the instructor if you have questions regarding what constitutes permissible or impermissible use of electronic course materials and/or recorded class sessions. Please contact Disability Support Services if you have questions or need assistance in accessing electronic course materials.

Academic support

Writing Center

GW’s Writing Center cultivates confident writers in the University community by facilitating collaborative, critical, and inclusive conversations at all stages of the writing process. Working alongside peer mentors, writers develop strategies to write independently in academic and public settings.  Appointments can be booked online at: gwu.mywconline.

Academic Commons

Academic Commons provides tutoring and other academic support resources to students in many courses. Students can schedule virtual one-on-one appointments or attend virtual drop-in sessions. Students may schedule an appointment, review the tutoring schedule, access other academic support resources, or obtain assistance at academiccommons.gwu.ed.

COVID-Related Topics

The university's COVID-19 Safety and Success website serves as the primary communication channel for the GWU regarding COVID-19 logistics and classroom guidelines.

Students with Disabiities [202-994-8250]

Accommodations for students with disabilities are determined and approved by Disability Support Services(DSS). If you, as a student, feel that you need accommodations but have not obtained approval please contact DSS immediately at 202-994-8250 or at https://disabilitysupport.gwu.edu. DSS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.

Ethical and Respectful Behavior

We expect all students to act in an respectful and ethical way, both with respect to the treatment of their peers in the classroom during discussion but also in the design and execution of their course projects. Actions should meet the expectations of ethical research and follow the norms and proper behavior of the George Washington University community. We strive for an inclusive classroom, which includes but is not limited to anti-racism, anti-sexism, accessibility, LGBTQ+ inclusivity. If you feel like you are unable to use inclusive language and behave in a non-discriminatory way, please drop the class.

University policy on observance of religious holidays

In accordance with University policy, students should notify faculty during the first week of the semester of their intention to be absent from class on their day(s) of religious observance. For details and policy, see “Religious Holidays”.

Reach Out for Success/Wellness

University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it's important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success at Health and Wellness Center. If you or someone you know are in immediate crisis, please contact one of the following resources immediately:

Safety and Security