
Featured Work
Visual-SLAM
LiDAR-SLAM
High-Level Control
Navigation
C++
ROS 2
Point cloud library
Collaborative SLAM for Quadruped Fleet
System of multiple quadrupeds capable of autonomously exploring and mapping unknown regions.
Perception
Computer Vision
CAD
ROS 2
Blue OS
C++
Bio-Inspired Underwater Perception
System for rover to follow a prey underwater, using sensory information of a seal whisker-like structure.
Robotic Manipulation
Computer Vision
ROS 2
Move Group API
Python
Mini Golf using Franka Arm
A mini golf game where the Franka arm is programmed to plan trajectory to hit the ball into the detected hole.
Multi-Agent Systems
Task-Scheduling
C++
Path-Planning
Optimization
Concurrency
Fleet Management System for AMRs and AGVs
Developed Fleet Software in Addverb (warehouse robotics company).
Computer Vision
OpenCV
ORB/SIFT
ROS 2
Concurrency
C++
Real Time Visual Pose Graph Estimation
Modular system that extracts raw stereo image data frames to generate and visualize the pose graph.
Deep Reinforcement Learning
DDPG
Unity ML Agents
Multi-Agent Systems
Python
Reinforcement Learning Agents Playing Table Tennis
Training two RL Agents to collaborate with each other in a game of table tennis to optimize the game time, while competing to win.
Projects
OpenCV
Robotic Manipulation
Computer Vision
Python
Pen Grasping Challenge
PincherX100 Arm programmed to detect, calibrate, manipulate and grasp a pen using OpenCV and depth sensing via Intel RealSense D435i.
Computer Vision
OpenCV
Perception
Object Tracking
Image Segmentation
Low Light Object Tracking
Detecting and tracking a moving object in pitch dark.

C++
Linux
Linux System Monitor
A system monitor system parallel to htop, that displays the CPU, process IDs, memory usage, etc of a Linux system.
C++
Memory Management
Data Processing
Chatbot
A simple chatbot that can answer questions using info from a presaved database and have a conversation with the user.
Deep Reinforcement Learning
DDPG
Unity ML Agents
Python
Multi-Agent Systems
Deep RL Based Arm Control
Trained multiple double-jointed arms to move to target locations.
Python
Robotic Manipulation
PID Control
Trajectory Planning
CoppeliaSim
Kuka YouBot trajectory planning and control
A Kuka YouBot programmed to plan trajectory and control the arm to pick and place object in CoppeliaSim.
Zed SDK
Visual-Inertial Odometry
SLAM
ROS 2
C++
F1 Ghost Car Racing using Visual-Inertial Odometry
A Multi-player game that scores players on how accurate a defined race track is followed.

C++
Path planning
Open Street Map Route Planner
A* based search algorithm to find the shortest path between two points in a map.
C++
Linux
Concurrency
Multi-Agent Systems
Traffic-Flow-Simulation
Built a suitable and thread-safe communication protocol between vehicles and intersections to complete the simulation.
Machine Learning
Neural Networks
PyTorch
LSTM/GRU
Natural Language Processing
RNN Language Model
Predicting the next word from a sequence.
Reinforcement Learning
Q-Learning
Unity ML Agents
Python
Navigation
Deep Q-Learning based Navigation
Trained an agent to navigate (and collect bananas!) in a large, square world.
Multi-Agent Systems
Reinforcement Learning
Stable Baselines3
PyTorch
PPO
Weights and Biases
Pygame
Bee Dance Swarm Intelligence.
Waggle dance communication of bee swarms for optimal nectar collection using Multi-Agent Reinforcement Learning.
Euler-Lagrangian Equations
Impact Equations
Python
Sympy
Numpy
Control
Dynamics
Dynamics modeling from scratch of jack bouncing within the moving box boundaries
The simulation from scratch involves Python and control theories, including Euler-Lagrangian equations and impact laws.
Machine Learning
Python
tensorflow
Neural Networks
Convolution
Image Classification
Computer Vision
CNN Sketch Classifier
A Convolutional Neural Network trained to classify sketches using a dataset containing ~20,000 sketches distributed over 250 object categories.