Course Projects

These are some of the projects I worked on for various courses in UC Berkeley.

System for Scalable Assimilation of Human Demonstrations for Robotic Manipulation Tasks

This project was for Advanced Robotics and paralleled my research. The idea is to collect a large number of human demonstrations of manipulation tasks and then apply a geometry based trajectory transfer technique in order to execute these tasks on a robot for a new and unseen initial configurations.

Here is a project report.

The following is a short video of tracking the human hand using a Kalman Smoother to extract the trajectory from the demonstration:

This project was (and is currently being) done in collaboration with Ankush Gupta, Jia Pan and Henry Lu.

Understanding Trajectory Transfer through Non-Rigid Registration and Sinkhorn Procedure

The final project for Graduate Algorithms involved reading, understanding and presenting any theoretical paper(s) related to the material in the class.

We focused on non-rigid registration using Thin Plate Splines. This is based on an algorithm proposed by Haili Chui and Anand Rangarajan in order to find a warping from one point-set to another. This is very relevant to my research, as our trajectory generalization method uses this technique to generalize human demonstrations to new situations. We also studied the proof of convergence of the iterative row and column normalization of positive matrices to doubly stochastic matrices, a.k.a. the Sinkhorn Procedure, and why this technique is relevant for non-rigid registration.

Here is our project presentation for the class.

This project was done in collaboration with Abhishek Gupta.

Interactive Inverse Kinematics

For our final project for Computer Graphics, we made an interactive game involving inverse kinematics. We used ASUS Xtion Pro Live depth sensors to track human movements and had a simulated robot imitate them using IK.

The goal of the game is to catch and place the purple ball in the orange cube. Doing so will make Robot Professor James O'Brien happy!

This project was done in collaboration with Ankush Gupta and Jonathan Ho.

Delaunay Triangulation

I made a Delaunay Triangulator for the final project of Computational Geometry. It follows the algorithm as described by Leonidas J. Guibas and Jorge Stolfi in Primitives for the Manipulation of General Subdivisions and the Computation of Voronoi Diagrams.

Here are a few images of the algorithm at work. The image on the right contains 10000 nodes. Beyond this, the triangulation looks like a yellow square, unless zoomed in.