Projects
Click on each project's name to learn more!
SBAMP: Sampling Based Adaptive Motion Planning

Developed SBAMP, a bi-level motion planning framework that combines RRT* for global path planning with an online SEDS-based controller for real-time local trajectory adaptation. The method avoids any offline training data by fitting stable dynamical systems on-the-fly and ensures global Lyapunov stability during disturbances and replanning. Implemented in ROS2 with CVXPY-based optimization, integrated with the F1/10 RoboRacer platform using real-time LIDAR-based perception and Ackermann control.
Enhanced Differentiable Multi-Sensor Kalman Filter for Cooperative 3D Tracking

Improved DMSTrack, a differentiable multi-sensor Kalman filter for 3D cooperative tracking, by modifying its learnable covariance module to enforce nonnegative uncertainty estimates. Our changes, ReLU-clamped residuals and reduced initial covariance scale, resulted in faster convergence and improved tracking performance on the V2V4Real benchmark. Implemented in PyTorch with Open3D visualization, trained end-to-end on real-world multi-vehicle LiDAR sequences using a custom differentiable Kalman filter pipeline.
Transformer-Based Visuomotor Diffusion Imitation Learning for Robot Manipulation

Enhanced diffusion policy frameworks for robotic manipulation tasks by introducing transformer-based observation and action encoders to capture relationships across the whole trajectory. The algorithm is evaluated in a PyMunk-based PushT simulation environment, with comprehensive evaluation metrics.
Pick & Place Robot Arm

Designed and implemented planning and control algorithms for the Franka Emika Panda 7-DOF robot to efficiently pick, place, and stack static and dynamic blocks for maximum height. Utilizing ROS and Gazebo for simulation.
3D scene reconstruction and novel view rendering with NeRF (Neural Radiance Fields)

This project implements a NeRF-based framework that represents a 3D scene in a compact way and render novel views given a number of 2D views of the same static scene. It integrates positional encoding, stratified sampling, and volumetric rendering.
Face Verification with C++ & OpenCV

Developed a real-time face verification system in C++ using OpenCV, integrating yunet.onnx for detection and sface.onnx for feature extraction and matching. Optimized for edge devices, ensuring efficient performance with minimal latency and low power consumption, suitable for IoT deployments.
Mood Based Music Recommendation System

A real-time emotion recognition system was built using Python, leveraging Mediapipe holistic solution to detect and track face and hand landmarks. The data was normalized to enhance model performance, ensuring it was position-invariant. Computer vision techniques were applied for real-time object detection and tracking, and the emotion recognition model was implemented with Keras. Videos were captured via OpenCV, processed with Mediapipe, and fed into the trained model for real-time mood prediction, with a Streamlit-based web interface and WebRTC for live video streaming.
LC-3 Virtual Machine

A virtual machine that simulates the LC-3 architecture, providing a simplified CPU model. It reads, writes data, performs arithmetic, and interacts with I/O devices, making it ideal for learning system-level programming. Similar to the Java Virtual Machine, it abstracts hardware, allowing programs to run across devices without modification. Written in C, this LC-3 virtual machine was tested with 2048, hangman, and rogue game files (also uploaded in the repo).