Featured Projects

Robotics projects in perception, control, and autonomy

Franka Panda Grasping Pipeline

Built as part of directed research at WPI. The robot needed to pick waste objects off a moving conveyor belt and sort them. I integrated RealSense depth data with an antipodal grasping network in ROS 2 and handled singularities using a Jacobian-based differential controller. Also replaced the existing Arduino conveyor controller with a Beckhoff TwinCAT PLC for real-time determinism.

ROS 2 HumbleMoveIt2PythonFranka Emika PandaObject Detection

Quadrotor Trajectory Control

Implemented PD and LQR controllers in PyBullet simulation, then validated on real Crazyflie 2.0 hardware. Did system identification on the physical drone to close the sim-to-real gap. Also implemented polynomial trajectory generation for smooth 3D paths. LQR maintained position error under 2cm on hardware.

PythonCrazyflie 2.0PD ControlLQRTrajectory Planning

MyAutoPano: Homography Estimation

Built a panorama stitching pipeline from scratch using Shi-Tomasi corners, ANMS, and RANSAC. Then trained a supervised HomographyNet on synthetic COCO patches to regress homographies directly. Also implemented the unsupervised version using TensorDLT and Spatial Transformer Networks — no labeled data required.

PythonPyTorchOpenCVRANSACDeep Learning

PBLite & CIFAR-10 Benchmarking

Implemented a Pb-lite boundary detector using DoG, LM, and Gabor filter banks. Benchmarked ResNet, ResNeXt, and DenseNet on CIFAR-10 to compare classification accuracy and model complexity for robotic vision use cases.

PythonPyTorchComputer VisionResNetDenseNet

OpenManipulator-X Kinematics Controller

Derived and implemented analytical FK/IK solvers and a Jacobian-based Cartesian velocity controller from scratch in ROS 2. Tested on real hardware with singularity and joint-limit handling for stable execution.

PythonROS 2KinematicsJacobianPD Control

REAAS: Supermarket Assistive Robot

Capstone project from undergrad. Built a ROS 2 Nav2 navigation stack for a mobile assistive robot with SLAM-based localization and dynamic obstacle avoidance, validated in Gazebo simulation.

ROS 2PythonGazeboNav2SLAM

Camera Calibration & Image Rectification

Implemented Zhang's checkerboard calibration method from scratch to estimate camera intrinsics and distortion coefficients. Applied calibration to rectify images and validated against OpenCV's built-in pipeline.

PythonOpenCVCamera CalibrationLinear Algebra

Path Seeker: Autonomous Navigation

Built an autonomous robot navigation system using AMCL for localization and a Hokuyo LiDAR for mapping. Validated in Gazebo simulation with ROS.

ROSPythonGazeboAMCLLiDAR