Research Projects:
Current: Human Motion Reconstruction: Building a musculoskeletal model of the human body.
~With Prof. Oussama Khatib [Manips group, Stanford]
Presently building an integrated muscular and skeletal model of the human body. The system will integrate with a human motion tracking system to track human motion, calculate muscle activation, and display the forces generated at joints in real time. We aim to use this system to suggest rehabilitation training strategies for injured people, and for giving athletes feedback about joint forces and inertias during movement to reduce their chances of injury.
Muscle response to spike based neural activation:
Current: Motor Sequence Learning With Reinforcement:
~With Prof. Kwabena Boahen
The human brain connects sensory input to motor output and controls highly redundant actuators to achieve complicated action sequences. Our goal is to emulate the biological motor-system's unsupervised sensorimotor-representation learning capabilities, and to use them to control human biomechanical models.
Videos:[Real-time simulation of 1600 cortical and 150 striatal spiking neurons with STDP (Spike Timing Dependent Plasticity)]
Cortico-Basal Ganglia Circuit:
Apr-June '08: Humanoid Robotics: Heavy falling object capture and impact stability
~Course Project, CS225A-Experimental Robotics, CS327A-Advanced Robotics, Stanford.
Built a controller for Stanbot, a humanoid robot, to allow it to catch objects thrown at it and maintain stability while withstanding the resulting impact forces. Implemented control subroutines for grasping, end-effector compliance, object manipulation, stance adjustment, walking, effective inertia control, and active and passive impact force reduction. The project was implemented in simulation, and we were able to withstand impact forces generated while catching a 3kg block falling from a height of 15m.
Doc: [pdf]
Videos: [Learning to catch], [Final]
Stanbot catches a block:
Apr-June '08: Neural Modeling: Building Neural CPGs
~With Prof. Kwabena Boahen [Brains in Silicon group, Stanford]
Central Pattern Generators (CPGs) are neural circuits that generate rhythmic oscillating outputs. In animals, muscles exist in synergist and antagonist pairs and these have to be controlled simultaneously to control a joint. Output neurons in CPGs fire out of phase and may be used to control synergist and antagonist muscles simultaneously, resulting in the generation of smooth rhythmic motion at a joint. Different types of neurons have to be mathematically modeled and connected in networks to build CPGs.
Video: [Neural CPG] [The video shows the control bias of the CPG moving from the synergist side to the antagonist side. It also shows the membrane voltage recording of a bursting neuron.]
Neuron Membrane Potential Curves:
Sept-Dec '07: Motion Planner for the Human Hand
~Course Project, CS326A-Motion Planning, Stanford.
Built a probabilistic roadmap motion planner for the Human Hand. A roadmap for traversing the
20 dimensional joint configuration space is built by connecting samples with collision free paths. Samples are obtained using an adaptive gaussian sampler. Path planning involves A* search
on the roadmap, with the start and goal positions added to it. A smoother makes the hand motion more realistic.
Doc: [pdf], [ppt]
Videos: [Smoothed], [Unsmoothed]
Start Pose: End Pose: Hand Skeleton:

Sept-Dec '07: Face Recognition using Descriptive Input Semantics, ~Course Project, CS229-Machine Learning, Stanford.
Built a face identication system that retrieves a picture of a person given a description of facial
features as input. Uses a SoftMax classifer to map geometric features to descriptions, clusters
similar images and returns a set of matching images based upon user descriptive input.
Doc: [pdf]
Mapping a facial feature to a description:

Jan-July '06: Pathfinding in large maps
~With Prof. Scott Goodwin [University of Windsor, Canada]
At the University of Windsor, Canada, I worked with Dr. Scott Goodwin to develop a new Pathfinding algorithm which reduces the search cost in large maps by using terrain based information to create abstractions and corrects the lost accuracy in large maps by picking precise entry and exit points that relate to the shortest foreseen distance geometrically.
Doc: [pdf]
Boundary Optimization: BP (red) vs. A* (blue)


May - July '05: Rule Based Mixed-Initiative Scaffolding
~With Prof. Vive Kumar [Simon Fraser University, Canada]
Worked on Mixed-Initiative Interaction (MII) based interfaces for E-Learning environments as a part of the Learning Kit Project. Formulated a set of rules for an Inference Engine to provide Educational Scaffolds to students using an E-Learning system. Based system interactions on the MII paradigm with capabilities to adapt to student usage patterns and help them Self Regulate. The user interaction data was stored in a populated ontology that would also provide the base data for the inference engine.
Doc: [pdf]
The MI-Edna system:

Undergradute Course Projects
July - Dec '06: Abstracting Terrain in large maps for Optimized Pathfinding
~IIIT - Allahabad
Worked on a terrain abstraction algorithm based upon movement cost based contours for use in our Pathfinding algorithm. Optimized the abstraction algorithm for specific target maps designed to test the performance of for our algorithm and compare it with A*.
July - Dec '05: Fading in Mixed-Initiative Helper Systems
~IIIT - Allahabad
Modeled a fading mechanism for an online learning environment which contextually maps mixed-initiative helper agent interactions to the cognitive learning strategies of students in a dynamic manner and phases out system initiative as student capabilities grow - Sixth semester mini-project at IIITA.
Jan - May '05: Swarm competition in Collective Object Transportation
~IIIT - Allahabad
Modeled competing swarms in a Collective Transport environment and studied the changes in collection efficiency as a function of swarming agent complexity - Fifth semester mini-project at IIITA.
Work Experience
Jan - Aug '07: Microsoft Corp. - Connected Systems Division
~Software Design Engineer, Microsoft India Research and Development
I was a part of the RFID group where I worked as on a new software suite that provides a framework to rapidly build, deploy, manage and mine data from Radio Frequency Identification systems. Duties involved the development of scalable high quality software using XML, C# .NET and C++, language localization of the software, setting up a software update delivery mechanism. My position required strong collaboration with a test team, industrial partners and other developers from the USA, South Africa and China.