Policies

Table of contents

  1. About the Course
  2. Prerequisites
  3. Resources
  4. Desired Course Outcomes
  5. Logistics
  6. Disability Accommodations & Emergencies
  7. Grade Breakdown
  8. Due Dates
  9. Homeworks
  10. Lecture and Scribing
  11. Discussion
  12. Lab Sections and Paper Presentation
  13. Projects
  14. Final Project
  15. Effort, Participation, and Altruism (EPA) Points
  16. Office Hours
  17. A Note on Late Work
  18. Regrade Requests
  19. Colaboration Policy
  20. Advice
  21. These are not normal times.

About the Course

This course is an introduction to advanced topics and research in robotics and intelligent machines. The course is a sequel to EECS/Bioengineering/ME C106A and EECS C206A which covers the mathematical fundamentals of robotics including kinematics, dynamics and control as well as an introduction to path planning, obstacle avoidance, and computer vision This course will present several areas of robotics and active vision, at a deeper level and informed by current research. Concepts will include the review at an advanced level of robot control, the kinematics, dynamics and control of multi-fingered hands, grasping and manipulation of objects, mobile robots: including non-holonomic motion planning and control, path planning, Simultaneous Localization And Mapping (SLAM), and active vision. Additional research topics to be covered at the instructor’s discretion include: locomotion and walking robots, Unmanned Aerial Vehicles, soft robotics, and Augmented/Virtual Reality.

Prerequisites

Students are expected to have taken EECS C106A / BioE C106A / ME C106A / EECS C206A or an equivalent course. A strong programming background, knowledge of Python and MATLAB, and some coursework in feedback controls (such as EE C128 / ME C134) are also useful. Students who have not taken EECS C106A / BioE C106A / ME C106A / EECS C206A should have a strong programming background, knowledge of Python and Matlab, and exposure to linear algebra, Lagrangian dynamics, and feedback controls at the intermediate level. Such students are encouraged to look at the material from the previous offering of C106A and self-study unfamiliar material.

Resources

The required texts are

Other material will be drawn from:

Desired Course Outcomes

The primary objective of this course is to help students develop the academic maturity necessary to understand and conduct research in the field of robotics, vision, and intelligent machines. Along with surveying a breadth of topics relevant to modern robotics, this course also gives students the ability to implement the concepts taught in lecture through exploratory lab-based projects. Students will get practice reading and interpreting research papers through weekly paper presentations. The course culminates in a final project that allows students to conduct independent, original research on a topic of their choosing. Students who complete ME C106B should:

  • Be proficient at reading, comprehending, critiquing, and reimplementing research papers in the field of robotics.
  • Have experience conducting independent research in model-based robotics, vision and intelligent machines.
  • Have the tools necessary to reason about nonlinear control systems, robotic manipulators, steering systems subject to non-holonomy, path-planning, active vision, image reconstruction, active vision, robotic grasping, and other advances in robotics.

Please see the Course Calendar page for a weekly breakdown of topics.

Logistics

This course will be taught in a seminar style, with homework, presentations, four projects, and a final project. All submissions will go through Gradescope (Course Entry Code: P52KXW). A Piazza page has been created for students to discuss homeworks and projects. Note that there will be no exams in this course.

Questions regarding homeworks should be directed to Jay. Questions regarding projects should be directed to any TA. Questions regarding course logistics should be directed to Jaeyun Stella. All questions can and should be directed to Piazza for the fastest response. When emailing staff, please prefix the subject line with [EECS C106B].

Each week, there are 3 hours of lecture, 1 hour of discussion, and 3 hours of organized lab time. All of these and office hours will be hosted on Zoom for the first two weeks of instruction per University guidelines (links found on the Resources page). You are expected to work on lab assignments outside of designated lab times. Lecture and discussion sections will be recorded and posted, so you may attend these asynchronously. However, due to the journal club nature of lab sections, they will not be offered asynchronously, and you are expected to attend your lab section every week.

Disability Accommodations & Emergencies

If you need disability-related accommodations in this class, please inform us immediately. Please see the professors or Stella privately after class or send us an email.

Grade Breakdown

Homeworks 20%
Scribing 2%
Paper Presentation 8%
Projects 1-4 35%
Final Project 35%

Three feedback surveys will be posted, each worth an extra 0.25% of your grade. An additional extra 0.25% will be granted for completing the end-of-semester university feedback.

Due Dates

All assignments are due at 11:59pm on the due date listed.

Homeworks:

Homework Date Assigned Due Date
Homework 1: Review 1/19 2/2
Homework 2: Controls 2/2 2/11
Homework 3: Path Planning 2/16 2/28
Homework 4: Vision 3/2 3/20

Projects:

Project Date Assigned Due Date
Project 1A: Trajectory Tracking with Baxter 1/19 1/31
Project 1B: Trajectory Tracking with Baxter 2/2 2/15
Project 2: Nonholonomic Control with Turtlebots 2/16 3/8
Project 3: Grasping 3/9 3/29
Project 4: Soft Robotics 3/30 4/8

Final Project:

Final Project Deliverables Due Date
Final Project Proposal 4/3
Intermediate Presentation 4/17
Intermediate Presentation Peer Review 4/20
Final Project Showcase 5/5
Final Project Report and Website 5/13

Homeworks

Homeworks will be collected and graded using the Gradescope system. Create an account on gradescope.com with your Berkeley email account and SID. Add this course with the code P52KXW.

Each student is allocated 5 total days of extension, to be used on any homework assignment with no loss of points. To allow for homework solutions to be released in a timely manner, no more than 2 extension days may be used on a single assignment. No homework will be accepted past two days of extension.

Collaboration on homework sets is encouraged, but all students must write up their own solution set. Additionally, every student is accountable for the solutions they submit and may be asked to discuss them with a GSI or instructor. Please list all collaborators at the top of each submitted homework set.

Lecture and Scribing

Lecture (T/R 9:30am-11am) will be held via Zoom for the first two weeks of class. After this, we will resume lectures in Birge 50. Lectures will be recorded for asynchronous viewing, though we highly recommend you attend liv ein order to ask questions and engage fully with the material.

Each student will need to scribe for one lecture for the semester. A LaTex template can be found in the Resources tab under Scribing. Students will need to sign up for scribing and submit their notes to Gradescope. Scribing notes are due by midnight the day after the lecture you scribed for. When submitting to Gradescope, please zip together the pdf and the .tex files to submit both of them.

Discussion

Discussion sections are held twice a week (R 1-2pm in Soda 310 and F 3-4pm in Cory 540AB). They will be held remotely for the first two weeks of class via Zoom. After this, we will resume discussions in person. The Friday section will be recorded for asynchronous viewing, though we highly recommend you attend live in order to ask questions and engage fully with the material.

Lab Sections and Paper Presentation

The first two weeks of class will be delivered remotely, and lab sections will meet online over Zoom.

At the beginning of lab section, the GSI will go over any announcements, including introducing any new projects. Then there will be a discussion of an assigned paper or two.

Each student will be responsible for presenting two papers to their lab section (one before spring break and one after). This presentation should be between 15 and 25 minutes long and you will be graded based on your level of insight on the material and your ability to answer questions from course staff and other students. You have the option of working with a partner or two for this. Details are to be finalized by the second week of class.

After the paper discussion, labs will be more free-form and similar in style to office hours. You are encouraged to use this time to work with your group on projects and ask questions.

Students are expected to participate in the discussion of each paper. If you are unable to attend the lab section, please email your GSI in advance with the reason for which you are missing section. They will provide an alternate assignment.

Projects

The lab in 105 Cory is open for use for the projects and the final project. Please do not use the hardware until you have completed Lab 0, which you will be doing in lab section on 2/3 or 2/4. The robots/hardware will be shared. Similar to how final projects in C106A worked, we will organize the robots’ time using Google Calendar reservation systems.

Projects will be done in groups of 3, but groups of 2 are also acceptable. Each team may only reserve 2 hours at a time and can only make a new reservation once all of the team’s existing reservation times have ended. If a team is caught abusing this policy and overbooking, a 50% penalty will be deducted from the group’s project grade. Each project team will be assigned to a robot. Please reserve times on the following calendars:

With the exception of Lab 0, there are no official lab checkoffs, as there are in 106A. Instead, students will work on their own time and turn in a project report to Gradescope. Project reports will focus on building the skills required to write scientific literature. Slack days may not be used on project submissions.

Final Project

The final project will constitute the largest single portion of your grade for this course and must include sensing, planning, and actuation components on real hardware. Whereas the 106A project was an implementation-based project, this project should be research-based. Project deliverables include a proposal, a live demo and poster session, an academic-style paper, a small website, and several intermediate check-ins. Further information will be forthcoming; in the meantime, feel free to explore the list of previous projects available on the website!

Due to the types of deliverables involved (e.g., live demonstrations), extension days may not be used on project deliverables, and late work will not be accepted.

As in EECS C106A, all students must complete a final project. Failure to complete a final project will result in a failing grade.

Effort, Participation, and Altruism (EPA) Points

We want to reward you for engaging respectfully with the course! You are eligible to earn up to 2% extra credit via Effort, Participation, Altruism (EPA) points. These points can be earned in a variety of ways:

  • attending lecture and discussion (attendance quizzes will be sprinkled throughout the semester)
  • asking questions in class
  • helping others in lab section
  • answering questions on Piazza
  • coming to Office Hours
  • actively engaging in journal club

Please remember to treat your peers (and hopefully your instructors!) with kindness and respect.

Office Hours

The instructors will hold weekly office hours to discuss lecture content, homework assignments, projects, and other course material. We will try our best to schedule them so that each student has the opportunity to attend at least one office hour each week. When discussing a current homework assignment, instructors will not provide solutions. Rather, instructors will be happy to help clarify fundamentals and to guide students’ reasoning in related problems.

A Note on Late Work

While we will abide by the policies listed above regarding specific assignment types, we understand that unforeseen circumstances do happen. If you feel that you will not be able to complete an assignment on time under the policies listed above due to truly extenuating circumstances, please inform a course instructor as soon as possible and before the associated deadline to discuss your situation. Once the deadline has passed, accommodations are unlikely.

Regrade Requests

If you feel that your work has been graded unfairly, you may request a regrade by submitting a request on Gradescope with a written statement explaining the mistake. Be aware that points may be deducted as well as added if a regrade is requested.

Colaboration Policy

Students are allowed—and in fact, encouraged—to collaborate on how to approach problems. This can include talking through approaches and whiteboarding together. However, each student is responsible for writing their own responses, both for typical written questions and coding assignments. Students should never be in possession of another student’s code.

When debugging, students are encouraged to come to office hours for assistance. If debugging with peers, we encourage you to do this in person with others in small groups. However, we understand that this is not always possible (see: pandemic), so screen sharing code for debugging assistance is permissible. When debugging, please do so in pairs or very small groups, and always do so in controlled settings to minimize sharing answers.

Students should never screenshare their code or answers directly on public platforms like non-private posts on Piazza, the class Discord, or the main class Zoom rooms. Please note that screen sharing on Discord can be viewed even without directly joining the call, so there can be no record of who is viewing your stream at any time. And ALWAYS list collaborators.

tl;dr: Work together on approach, but write your own answers. If you need direct help debugging, ask a TA for help or do so in controlled environments where the only people who see your code are your approach collaborators. ALWAYS list collaborators on your submissions.

Advice

The following tips are offered based on our experience.

Do the homeworks! The homeworks are explicitly designed to help you to learn the material as you go along. Although the numerical weight of the homeworks is not huge, there is usually a strong correlation between homework scores and final grades in the class.

Keep up with lectures! Discussion sections, labs and homeworks all touch on portions of what we discuss in lecture. Students do much better if they stay on track with the course. That will also help you keep the pace with your homework and study group.

Take part in discussion sections! Discussion sections are not auxiliary lectures. They are an opportunity for interactive learning. The success of a discussion section depends largely on the willingness of students to participate actively in it. As with office hours, the better prepared you are for the discussion, the more you are likely to benefit from it.

Come to office hours! We love to talk to you and do a deep dive to help you understand the material better.

Form study groups! As stated above, you are encouraged to form small groups (two to four people) to work together on homeworks and on understanding the class material on a regular basis. In addition to being fun, this can save you a lot of time by generating ideas quickly and preventing you from getting hung up on some point or other. Of course, it is your responsibility to ensure that you contribute actively to the group; passive listening will likely not help you much. Also recall the caveat above, that you must write up your solutions on your own. We strongly advise you to spend some time on your own thinking about each problem before you meet with your study partners; this way, you will be in a position to compare ideas with your partners, and it will get you in practice for the exams. Make sure you work through all problems yourself, and that your final write-up is your own. Some groups try to split up the problems (“you do Problem 1, I’ll do Problem 2, then we’ll swap notes”); not only is this a punishable violation of our collaboration policies, it also ensures you will learn a lot less from this course.

These are not normal times.

We understand that this semester will have its unique challenges. We are here to support you throughout the semester, both as students and as people. Life happens, and we want to make sure you are still receiving a quality education despite the current state of the world. Please communicate with us if you are experiencing extenuating circumstances and need extra support. We’re here for you.