scarecrow1123 / blog

My name is Ananda Seelan and this is my blog

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OMS CS7638 Robotics - AI Techniques - Summer '19

scarecrow1123 opened this issue · comments

CS 7638 Robotics - AI Techniques

Instructor(s): Jay Summet / Sebastian Thrun
Course Page: Link

This happened to be my second OMS course following KBAI. Previously known as AI for Robotics(AI4R popularly), this isn't supposed to be originally designed for a summer(short) term. This is typically a 16-week long course which got shrunk to a 11-week one and we were duly cautioned by the professor about this at the beginning of the term.

Course Videos

The course follows the content from Sebastian Thrun's Udacity videos. The video lectures broadly covers the following:

  • Localization
    • Histogram Filters
    • Kalman Filters
    • Particle Filters
  • Search / Path Planning
  • PID Control
  • SLAM (Simultaneous Localization and Planning)

The video content are fairly simple to follow as Prof Thrun makes it sound easy in a lot of places. However, at times, the details were skimmed over and not a lot of background motivation were given for certain parts of the lecture material. Each module is followed by a problem set which comes with solution videos. Solving them and submitting them on canvas fetches 28% of the total grade of the entire class. These were not hard to solve and are not time consuming too.

Projects

The projects are the crux of this class as there are no tests/exams in this class. All projects are auto-graded and the solutions had to be adopted from the lecture content. For most of the projects, code from the problem sets served as the boilerplate and were highly helpful to set something up working quickly. The following projects were part of the Summer class:

  • Asteroids - Kalman Filter
  • Mars Glider - Particle Filter
  • Rocket PID - PID Control
  • Warehouse - Motion Planning and Search
  • Ice Rover - SLAM

Asteroids and Mars Glider projects were being introduced for the first time as a part of CS7638 and we were the lab rats of some sorts. There was too much FOMO especially during the Mars Glider project weeks, as there were bugs in the testing system and also the test cases were being changed often as this was the first time they introduced the project. We also had to spend a lot of time in tuning parameters to make these systems work well. All of these projects deal with tackling noise in the measurements and motion of robots, obviously one had to get the parameters right to make the systems stable. People spent more time in tuning the params than they did for coding up the whole thing. So those who started late(like me in a couple of projects) suffered from lower scores. Starting early on the projects especially Mars Glider and Warehouse is advisable for anyone who do not want to miss on an A.

There were also constraints that were introduced in the projects which were not part of the lectures nor the problem sets. Examples being the Q-matrix in Kalman Filters, "fuzzing" in Mars Glider (which automatically made my code work). Typically none of us knew what they were about until the the teaching staff explained the entire thing and helped the class through.

Class and Grading

Prof Summet and the TAs did an excellent job in answering the student questions during the entire period of the class. Since there were a lot of curve balls thrown at us during the projects especially, their insights were very useful in coding up the projects and clarifying the doubts from the problem sets. The Slack group was also highly active with healthy discussions and suggestions.

Grading is absolute and the project scores are the only ones taken into account for the final grades apart from the problem set grades. Problem sets can be taken for granted as they are there only to check if one has finished watching the lectures.

Material

I personally did not follow Prof Thrun's Probabilistic Robotics book which was the suggested text. This particular e-book Kalman and Bayesian Filters in Python is an excellent to resource for anyone to understand and get an intuition about these topics with straightforward implementation details.

Conclusion

Comparing to my previous KBAI class, there are no reports to be written and having code only projects are a huge plus. Optimizing for the auto-grader score games up the work being done and could turn to be fun, but only if you start early on for the projects!