This page constitutes my exernal learning portfolio for CS 6601, Artificial Intelligence, taken in Spring 2012. In it, I discuss what I have learned throughout the course, my activities and findings, how I think I did, and what impact it had on me.
I am a first year PhD student in Computer Science. I work in the intersection area of Computer Vision and Robotics. My adviser is Prof. Frank Dellaert. I am currently working on building fast and autonomous racing cars. Come check out our race car at RIM!! . When I don't have my thinking cap on (Ahem!), I do enjoy playing tennis, hiking, cooking and riding motorcycles,swing dancing and swimming.
My past Projects and publications can be found here:
Foundation: Reading and Assignments
In the course, we completed 8 assignments on the foundations of AI, after reading the relevant material in the textbook.
The Learning Component
I guess what I learned from this course can be broadly summed into 2 simple words - Factor Graphs and Hidden Markov Models :)
But no, seriously, being new to Artificial Intelligence, I thought It was a fantastic course for me because I was able to relate to so many concepts in machine learning / Computer vision algorithms.I remember when Frank started the class, he mentioned that this is not a class where you rehearse your basics. It was precisely that. I had a lot of fun collating information on the lectures topics before the class stated( not necessarily from the text book :) ).It was a course that gave a lot of freedom to choose what you like at the same time making sure you have a broad overview of the entire field of Artificial Intelligence. Along with the many great lectures by Frank and Thad, I also enjoyed the lectures by Merrick Furst on Graph Plan ad RRts and Mike Stilman. Among the many new concepts that I learned during the lectures, Graph Plan, Bayes nets, Hidden Markov Models, Factor Graphs, Reach for A*,RRTs are some of the lectures that stand out in my memory.
Every assignment required a deep understanding of what was mentioned in the text book. But my favorite was Assignment #5 on Hidden Markov Models. It was special to me because of the way it was done. We had a great group discussion about the assignment before starting it and we even so far as to write the code and see how it actually works. The follow up lecture on it by Thad gave a intuitive feel to the whole things. The next lecture which related Factor graphs to it really made me see how Factor graphs can be a representation of anything.
The coursework was definitely heavy. Although it provided a broad overview of the subject. I often felt I was not going into the very depth of the subject. The enjoyed doing the assignments, but sometimes they were not representative of the whole chapter.On the whole, I thought I decently well in most of it and very well in a few like the search assignment, HMM and Bayes nets.
There were three mini-projects in which I chose to research a problem that was supposed to be relevant to my your future career. For each of these three projects, I proposed a solution, implemented it, and described it in a mini-conference paper.
Project 1 was motivated largely by the cool addition to the A* search that was taught in class. I wanted to implement something that was similar to the "Reach for A*" algorithm that was taught in class. However, what we actually implemented turned out to be quite different. Without going too much into the technical details, I learned a lot of the intricacies of A* search algorithm.Here we were addressing the problem where we were navigating to a place of unknown distance and direction.
Project 2 was an outcome of a combination of the Graph Plan and Factor graphs to create a parallel planner.It was perhaps the most demanding project in terms of the number of new concepts that I learned.Though we did ot get significantly interesting results, it was a very interesting project because it introduced me to discrete factor graphs.
My favorite Project
My favorite Project was Project 3. Incidentally, I also scored Highest in this project. Here we were trying to estimate the friction co-efficient of the surface using haptic sensing and principles of physics.
In this study, our objective is to model the traversibility of an object on a surface for sliding motions. The traversibility of an object depends on the interaction dynamics between the object and the surface which include friction, adhesion, cohesion and point of application of force. The inherent uncertainty and variability of this dynamics makes it difficult to model these interactions using traditional control paradigms. Hence, we shall address this problem using data-driven supervised machine learning techniques. Autonomous manipulation in uncertain and cluttered environments is a difficult problem. Haptic technology can serve as a useful tool for enabling effective manipulation. A robot could utilize haptic information obtained from its interaction with objects in the environment to maneuver itself through clutter. While doing so, knowledge of the mechanical properties of an object and the surface on which it lies, such as the frictional properties could be especially useful.Due to the highly constrained space, free-manipulation is restricted and avoiding contacts with the environment is improbable. It is analogous to the case of blind manipulation for humans in which they make use of the haptic information to estimate the forces and proper motion required to manipulate the object. For example, sliding a bottle (an object) over wood (a surface) would require different forces than over metal or glass or some rough surface like a furry rug. Applying improper forces might result in overturning of the bottle, resulting in damage. In such cases, haptic mapping of surfaces would indeed help in effective manipulation. Hence, our objective is to classify different surfaces using haptic data obtained from interactions with objects on different surfaces. This approach becomes all the more important in cases where visual cues are absent due to lack of line-of-sight (highly probable in constrained and cluttered spaces). Also, sliding motion is advantageous as it requires fewer joint-space movements compared to conventional pick-and-place motions.
If you want to know what these figures mean, here are the links to the 3 mini papers:
Project Repository >