I am a Robotics Software Engineer with a Master's degree from the University of Pennsylvania. I have been a part of multiple projects affiliated to GRASP lab. Although I specialize in robot manipulation, controls and path planning, my course work and extra-curricular activities have also introduced me to machine perception.
In my free time I love to explore the wilderness and go on hikes. I am a fast growing content creator with 300+ subscribers on YouTube    .
I also blog my travel and food experiences on my personal travel blog page .
10th F1Tenth Autonomous Grand Prix (ICRA 2022, Philadelphia) Summer 2022
In this project, our team participated in the 10th Autonomous Racing F1Tenth competition held at IEEE International Conference on Robotics and Automation ( ICRA 2022 ), and successfully secured the title as the second fastest lap time. Our autonomous racing car used the 25ms fast update from the Hokuyu 2D LIDAR and used an advanced spline based RRT* algorithm coupled with Pure Pursuit to plan a path around the opponent. Localization was done using Hector SLAM package and the particle filter was tuned to make the localization more accurate for head-to-head racing.
NeRF: Neural Radiance Field in 3D Vision Spring 2023
Code:  
In this project I implemented Neural Radiance Fields to render a 3D model of a lego model. The implementation is based on the original research article by K. Gao et al.
Robotic Arm Manipulation using MPC and Vision based Dynamic Obstacle interaction Fall 2022
For the first stage of the project, we solved the pick and place task for static and dynamic cubes. We created mechanical mounts for mounting usb_cam on the Robotic Arm, and developed a simulator to simulate Apriltag transformations to mimic the real world. The, by using Apriltags mounted on the cubes, we created ROS node to create transformations and inverse kinematics that would help the robot plan a path to pick up the cubes, and stack them to create a tower. Implemented A*, Rapidly Exploring Random Trees (RRT) and Potential Fields algorithms for the 7-dof Franka Emika PANDA robotic manipulator arm in ROS using Python.
For the second part, we implemented a 10 step finite horizon Model Predictive Control (MPC) with goal point as the waypoints given by the RRT algorithm.
For the third part, we implemented a Heirarchical MPC Algorithm, where second stage MPC optimized the path given by RRT, returning a better path with lower cost.
Motion Planning and State Estimation for Quadrotors Spring 2023
Implementated non-linear geometric controller for quadrotors based on research by D. Mellinger et al. Implemented Error-State Kalman filter for estimating the pose and orientation of the quadcopter based on inputs from stereo cameras and the IMU. The collision free path is obtained by A* algorithm, and sparsely sampled by Ramer-Douglas-Pecker algorithm, after which a Snap minimizing trajectory is generated for generating optimal quadrotor flight control commands.
Model Predictive Control for autonomous racing Summer 2023
Code:  
Implementated linear model predictive controller for autonomous racing car using f1tenth simulator using ROS2.
Object Detection and Instance segmentation approaches Fall 2022
YOLO:  
SOLO:  
In the class CIS 6800 Advanced Perception, we explored various object detection, instance segmentation algorithms like YOLO, SOLO, Mask RCNN etc.
Path Planning using Inverse Perspective Mapping for Autonomous Race Vehicles Spring 2022
This project was aimed at combining our previous efforts for dynamic obstacle avoidance using spline-based RRT* approch with a vision system for path planning. We integrated an inverse perspective mapping pipeline for opponent vehicle state estimation and path planning approaches. The image shown to the left shows the accuracy of the generated IPM by overlaying the LIDAR scan onto the image.
Iterative Close Point (ICP) Scan Match Algorithm Spring 2022
Demonstrated Point to Line Iterative Close Point scan match on occupancy grid map based on the Andrea Censi's publication.
Used a Particle Filter for state estimation, Hector SLAM for map localization and Pure Pursuit control.
Operational Space Controller for Planar Biped Spring 2023
Implemented an Operational Space Controller for controling a Planar Biped robot in Pydrake using the Meshcat environment. The tracking objectives of the OSC were the center of mass, torso angle, and
swing foot position in order to achieve stable walking. In order to keep the torso upright, its angle (theta) made with the normal to the ground was controlled to be 0.
Optimal control policy for Gridworld robot using value iteration Fall 2022
In this project, robot states were defined for a gridworld to replicate real world properties of robot slip (ground friction conditions e.g oil spill), solid obstacles like walls, etc. and free path. Using value iteration, an optimal control policy was obtained and various discount factors (gamma) were tried to get the most optimal policy and path.
Comparison of RRT and RRT* approaches in Autonomous Racing Spring 2022
Code:  
The goal of this lab project was to explore Sampling based algorithms: RRT and its variants. Through this project, we implemented a binary occupancy grid (0 for free, 1 for occupied), and processed the Hokuyu 2D Lidar scans at a refresh rate of 25ms.
Penn Engineering Projection using Homography a.k.a Collineation Spring 2023
In this project, I used the concepts of projective geometry and homographies to project Penn Engineering logo onto a scene from the El Clasico football match in a way that respects perspective.
Control of 2D Quadrotor Fall 2022
This project was aimed at exploring the various methods of control of 2D Quadrotor like iLQR(iterative linear quadratic regulator), model predictive control, and trajectory tracking using time varying LQR
3D Object Visualization Spring 2023
Video:   YouTube
This project was aimed at using 2D graphics to create a Visualization tool for any 3D solid objects given the coordinates and faces data through an input text file. GUI included mouse click and drag functionality for rotating object to visualize it. 3D frame transforms were done and points were projected on a 2D plane. Wireframe visualization involved just the edges and vertices, while the face visualization included changing colors of faces to imitate shaders.
Mechatronics: Autonomous Battle Robot Fall 2021
Designed and built an autonomous wall following robot. Localization using HTC Vive in C. Obstacle detection, frequency detection and wall following.
Website creatively modified from the original template by Jon Barron. Thanks Jon!