ntuck@neu

CS4610/5335 - Robotic Science and Systems

Fall 2020

This is an EARLY draft. Information subject to change.

The course catalog says:

Introduces autonomous mobile robots with a focus on algorithms and software development, including closed-loop control, robot software architecture, wheeled locomotion and navigation, tactile and basic visual sensing, obstacle detection and avoidance, and grasping and manipulation of objects. Offers students an opportunity to progressively construct mobile robots from a predesigned electromechanical kit. The robots are controlled wirelessly by software of the students’ own design, built within a provided robotics software framework. Culminates in a project that connects the algorithms and hardware developed in the course with a selected topic in the current robotics research literature.

Essential Resources

  • Inkfish - View and submit homework assignments.
  • Piazza - Class discussion & announcements.
  • scratch - A git repo of stuff that may have happened in lecture.
  • Check Canvas for Microsoft Teams link.
  • Nat's Notes - Probably confusing, but includes most material shown in class.
  • Online Lectures

Documentation

Sections

SectionLocationTime
4610-01RB 109Tu 11:45am-1:25pm; Th 2:50pm-4:30pm
5335-01RB 109Tu 11:45am-1:25pm; Th 2:50pm-4:30pm

In person class meetings are optional. You can find Zoom links for remote participation on Canvas.

Staff & Office Hours

NameLocationHoursEmail
Nat TuckMS TeamsWe 1pm-2pmntuck ⚓ ccs.neu.edu
Xingyu LuMS TeamsTu 2pm-3pmlu.xingy ⚓ northeastern.edu
Sarfaraz QuadriMS TeamsTh 5pm-6pmquadri.s ⚓ northeastern.edu
  • Office hours run from September 14th to Dec 16th.
  • Cancellations and changes may be posted to Piazza.

Pandemic Adaptations / Policies

Due to the ongoing pandemic, we'll be using an altered course structure this semester as well as following the Northeastern policies.

Course structure changes:

  • Primary lecture content will be provided as pre-recorded videos at the beginning of each week.
  • Our scheduled in person meetings are optional, and will consist of live demos of material related to the week's lecture topic as well as live Q&A.
  • In person meetings may end early if we run out of questions.
  • Each student will be expected to attend at most one in person meeting per week.
  • It may be possible to view the in person meetings and ask questions remotely live using video chat software, but they will not be recorded due to privacy concerns.
  • There will not be scheduled in-person office hours. Instead there will be online office hours only.

Make sure you are familar with the university policies for being on campus and attending classes during the COVID-19 pandemic.

Specifically, keep in mind the following for our in-person meetings:

  • Everyone is expected to wear a mask.
  • Everyone is expected to maintain six foot social distancing.
  • Keeping masks on means no food in class.
  • Maintaining six foot distancing will mean that entering and leaving the classroom takes extra time. Make sure to arrive on time.

Schedule

Assignments will frequently be due at 11:59pm on Thursday.

Information about assignments and due dates appear here, on Canvas, and on Inkfish. Only the assignments and due dates listed on Inkfish matter.

WeekStartsTopicsWork Due
1Sep 7 (α)Intro; Sim Demo-
2Sep 14Gazebo Simulator; Reactive ControlHW1: Hello Sim Robot (δ)
3Sep 21Kerbal Space Program; KerboscriptHW2: Hello Spaceship (δ)
4Sep 28...HW3: ??
5Oct 5...HW4: ??
6Oct 12...HW5: ??
7Oct 19...HW6: ??
8Oct 26...HW7: ??
9Nov 2...Project Proposal (δ)
10Nov 9...HW8: ??
11Nov 16...(work on project)
12Nov 23 (β)...(work on project)
13Nov 30PresentationsFinal Project Due Monday (δ)
14Dec 7 (γ)Wrap-Up-
  • α. First class Thursday
  • β. No class Thursday: Thanksgiving Vacation
  • γ. Last class Tuesday
  • δ. These assignments are mandatory.

Required Materials

  • Kerbal Space Program on Steam
  • (Optional) Makeblock mBot Ranger Robot Kit

We won't be using the robot kit in September, so you can safely hold off on deciding if you want to buy it until you have more information on what we'll be doing with it.

Assignments and Grading

For all regular assignments:

  • Each regular assignment is worth two points.
  • If you don't submit anything, you get no points.
  • If it doesn't work at all (compile, run, do stuff, etc), you get no points.
  • If it's not excellent, you lose a point.

Homework:

  • There are approximately 8 homeworks.
  • The first two homeworks are mandatory.

Project:

  • The project consists of four parts (each an assignment worth two points).
  • The project proposal is due earlier.
  • The remaining three parts are due on the project due date: Code, Presentation, Demo
  • All parts of the project are mandatory.

4610 vs 5335:

  • Students registered for 5335 will be expected to do extra stuff on some assignments.

Participation:

  • There are two participation "assignments":
  • First, ask and answer good questions on Piazza.
  • Second, participate in discussion in the General channel on Teams.

Final grades:

  • If you get all the regular points, you get an A.
  • Every two points missed reduces your grade by one level (A, A-, B+, B, B-, C, D, F)
  • If you fail to submit a serious attempt at any mandatory assignment, you get an F.

Bonus points:

  • There may be bonus tasks during the semester.
  • A bonus task is worth one point.
  • Bonus task points don't count towards "all regular points", so act as extra credit.
  • There may be zero bonus tasks.

Late Work

Late submissions will be penalized 1% per hour late.

Final project submissions will not be accepted after presentations start.

Late Registration

If you register late for the course please contact the professor for extended homework due dates as soon as possible. In general you will be expected to complete all of your assignments in order, and you will recieve an extension on at most one assignment due after your registration date.

Late submissions will be penalized per the normal policy without an explicit written extension from the instructor.

Policies

Contesting Grades

Grades are mostly deterministic in this class:

  • Did you do it?
  • Was it submitted on time?
  • Does it work?
  • Is there major stuff wrong with it such that it should lose a point for being "mediocre"?

If you think you have an incorrectly assigned grade:

  • Send a written appeal letter to your grading TA explaining why you think your grade is incorrect and requesting it be changed.
  • Your TA will respond either by changing the grade or sending a written denial.
  • If you get a written denial, you can forward your appeal letter, the denial, and a denial appeal letter to the instructor with an explaintion of a concrete factual mistake that the TA has made in grading.
  • If your grade is clearly and factually wrong, it will be changed. If the issue is in any way unclear, the grade will not be changed.

Whether or not your final project was "excellent" is a subjective judgement by the course staff and cannot be appealed.

If you misunderstood the instructions and failed to complete a portion of a homework assignment your grading TA may, at their option, allow you to fix it either when the submission is graded or if you request the opportunity to do so. TAs probably will accept the first such request, and probably will not accept the third for a given student this semester.

Special Accomodations

Students needing disability accommodations should visit the Disability Resource Center (DRC).

If you have been granted special accomodations either through the DRC or as a student athlete, let me know as soon as possible.

Code Copying & Collabaration Policy

Copying code and submitting it without proper attribution is strictly prohibited in this class. This is plagiarism, which is a serious violation of academic integrity.

Providing solution code to other student that solves the core challenge of an assignment is also strictly prohibited unless you're working with them on a team project.

Collaboration and Attribution

Using code written by others with appropriate attribution is frequently appropriate. Properly attributed code will never be treated as plagarism in this class.

You are still expected to complete the assignment yourself, which includes writing the solution code to solve the core challenge of the assignment. If you submit code with attributions that show that you did not appropriately complete the assignment yourself, you will not recieve credit for that assignment.

Posting Code on the Web

You may post code written for this class publically on the web as long as:

  • You clearly specify that you are the author and when the code was written.
  • You provide clear attribution for any external code.
  • You note that your code was written for this class, including which assignment the code was written for.

If your code is potentially useful to others, it would be nice for you to post it as a git repository and explicitly license it under an open source license.

Penalty for Plagarism or Providing Solution Code

First offense:

  • You get an F in the course.
  • You will be reported to OSCCR and CCIS.

Avoid copying code if you can. If you're looking at an example, understand what it does, type something similar that is appropriate to your program, and provide attribution. If you must copy code, put in the attribution immediately, every time or you will fail the course over what feels like a minor mistake.