I am a Masters in Robotics Student at University of Pennsylvania, where I am specializing in state
estimation and perception.
I did my undergrad in Mechanical Engineering from Ahmedabad University, India where I was working in Mechatronics and Controls.
My most recent experience was working at JPL NASA for development of the lander pose estimation algorithm for the Mars Sample Return Mission. I am currently working on Geometrical problems in vision.
I'm always open to engaging conversations and knowledge exchange, so feel free to drop me an email. And just a heads up, if you don't hear back from me within 48 hours, a gentle reminder would be much appreciated!
Joined JPL to work on Pose estimation of Lander for the Mars Sample Return
Mission. I worked on Sample Recovery Helicopters in surface navigation subsystem, being part
of Aerial Mobility Team.
Designed the system from camera calibration to Pose estimation in C++. Successfully evaluated
robustness tests under different stress conditions.
Additionally provided support for Stereo Visual Odometry algorithm.
Implemented end to end behaviour cloning using Deep learning on agile multicopters.
Carried out camera pose estimation to stabilize images during high-speed flight and integrated
with a Neural Network.
Achieved successful autonomous navigation with obstacle avoidance in high-speed flights at speeds
up to 15 m/s.
Developed Sense and Avoid System (SAA) pipeline for Agricultural UAV where implemented LIDAR point
cloud processing, obstacle avoidance and developed mavlink based support interface for lower level
I was also the main Controls engineer for Indoor drone where successfully brought position accuracy
to 5 cm in extreme low light conditions.
• This was a GTSAM learning Project! Formulated a factor graph using ICP based Odometry on Argo AI Driving Dataset.
• Performed incremental Smoothing and Mapping (iSAM) to optimize the odometry using GTSAM.
•Developed and implemented an Operational Space Controller (OSC) for a 5-linked planar biped robot, formulating the problem as an instantaneous quadratic program (QP) to optimize actuator inputs and achieve precise tracking of the center of mass, torso angle, and swing foot position for stable walking.
• Leveraged the pydrake interface to construct the QP, with friction constraints, input limits, dynamic and contact constraints for robust biped locomotion.
• Implemented velocity and torso tracking objectives as quadratic cost, resulting in locomotion upto 0.7 m/s within actuator limits.
• Implemented Segformer's B0 architecture from scratch which mainly comprises of Attention Module,
MixFFN layer and a MLP decoder.
• Trained on ADE20K dataset with weighted cross entropy loss to counter class imbalance and
learning rate scheduler to speed up training.
• Achieved 0.45 mean IOU which is greater than 0.38 reported from official implementation.
Implemented the same on CityScape dataset on a single sequence of 600 images.
• Depth estimation using Monocular Vision, by fusing information from multiple images of the scene
at different angles.
• Utilized Pose-derived baselines to establish epipolar lines and performed NCC-based block
matching for correspondence identification.
• Calculated depth using baselines, followed by integration into the Kalman Equation (only
measurement update), resulting in enhanced depth fusion from multiple angled images.
• Applied Non Linear Bundle Adjustment using Horn Schunk Trick on the BAL dataset.
• Used Ceres and g2o for solving the problem.
Fast Trajectory tracking and control of Quadrotor Report
The project aimed to achieve autonomous flight of a quadrotor in an obstacle map, given start and
• State estimation was performed using Stereo Visual Inertial Odometry with fusion using an Error
State Kalman Filter.
• Path planning was implemented using A*, followed by generating a min snap trajectory through
Ramer-Douglas-Peucker downsampling. To achieve rapid tracking, a cascaded non-linear geometric
controller was implemented for the quadrotor.
• My algorithm achieved top 5 position in leaderboard in the class of size 100 based on speed,
accuracy and robustness.
Quaternion estimation using Unscented Kalman Filter Code
• Implemented a Quaternion based Unscented Kalman Filter(UKF) to track 3D orientation from
Gyroscope and Accelerometer data
• Employed an optimization-based approach to process sigma points and estimate the state of the
Particle Filter based SLAM Lidar and odometry based SLAM on THOR Humanoid Robot, 2023
• Integrated the inertial orientation and odometry with a 2D LIDAR scan to build the occupancy
grid map of the environment while
localising the robot using a particle filter
3D Reconstruction using Multi View Stereo Techniques: Plane Sweep Stereo and Two View Stereo, 2023
• Implementation of two-view stereo and multi-view stereo algorithms for dense 3d reconstruction
of a scene.
• Estimated Camera Pose using PnP/P3P correspondence algorithm (without OpenCV). Backprojected the
render mesh object to obtain an AR effect.
• Resolved Pose ambiguity problem by using depth as a criteria.
• Detected April tag pose using ROS wrapper and then used an least square optimization approach to
refine the estimate.
• A bezier curve strategy was used to plan a path and then a velocity based PD
controller was used to move the end effector.
Full Stack Drone Controller from Scratch Make an autonomous controller from scratch using the cheapest sensors available from Market.
• Developed a 12 state Kalman Filter that fuses MPU6050, BMP180 and Magnetometer, Neo6M GPS to get
a reliable state estimate.
• Developed a gain scheduling based control strategy using adaptive gains based on state estimate.
• Used ESP32 as a flight controller, implemented RTOS to run State Estimator and Controller in
Robotics Simulator Lightweight Simulator completely using Python standard library, 2020
• Developed a physics based graphical Simulator for differential drives and quadrotors from
scratch in python.
• Implemented Swarm algorithms for pattern formation using graph theory.
• Inbuilt path tracer, data logger and auto pid tuner.