Here are some of the projects that I spent significant amount of time on. They primarily comes from course and side projects from free time.

State Estimation

Legged Robot State Estimation

Robotics SLAM C++ Python

Placeholder text, More Information

Visual Inertial ORB-SLAM

Robotics SLAM ROS C++

Placeholder text, More Information

Robust Visual Inertial Odometry

Robotics SLAM DSO ROS C++

Portrait

Deployment of visual inertial odometry on light-weight aerial platform. Blimp dynamics and 70g of payload capacity caps the quality of perception data limits the performance of standard state-of-the-art techniques.

More Information on how my senior design project resolves the issue in noisy image stream and large rotation induced visual odometry failure.



Computer Architecture

Hierarchical Cache Simulator

Comp Arch Cache C

Portrait

Memory operations are easily the most expensive ops in computer operations, both build cost and wait time for execution. Faster memory costs more and bigger cache space quickly reaches dminishing returns.

More Information on a hierarchical cache simulator that utlizes two layes of caches and victim cache to reduce cache access time.


Cache Coherence Protocol Simulator

Parallel Execution Cache Coherence C++

Portrait

To speed up the operation, architectures were multiple cooperating processing units are designed. Those CPUs have embedded caches to further speed up operation. However the share of resources requires protocols to update each other.

More Information here to see a cache coherence protocol simulator that uses MSI, all the way to MOESIF.


Tomasulo Scheduler Simulator

Comp Arch Out of Order Execution C++

Portrait

To fully utilize computer hardware, instruction scheduling algorithms looks at instruction data dependencies and attemps to complete whatever is completable first.

More Information here to see an implementation of tomasulo algorithm that runs verification on 2.5M instructions scheduling.


Multicore Process Scheduling Simulator

CPU Scheduling C++

CPU instruction scheduler.

More Information


Constraint Satisfaction and Optimization

Constraint Satisfaction Problem

Optimization Python

Portrait

Constraint satisfaction problem (CSP) deals with the situations where the solution must satisfy a number of constraints. They often face an explosion of number of state spaces and computation complexity going exponential.

More Information on the implementation of several CSP solvers designed for N-Queens problem and the evaluation of their performance.


Linear Programming (Python and Julia)

Optimization Python Julia

Linear Programming is a type of formulation of optimization problems where the objective function is a linear combination of variables and variables adhere to linear constraints.

More Information on my implementation of simplex algorithm for linear programming in both Python and Julia


Extracurricular Projects

Intelligent Ground Vehicle Challenge

Embedded Control Power C++

Portrait

This is my involvements in Georgia Tech’s competitive robotics club RoboJackets. Intelligent Ground Vehicle Challenge is an auto navigation challenge that focus on vehicle operability in offroad environments.

More Information on my involvements in the electrical subteam, building and maintaining the power system of 300lb robot, sensors and custom built PCB platforms.


Natural Langauge Processing

NLP Python

I had the opportunity to pursue an internship at AJMIDE, an radio program company that is in the process of moving their service into mobile apps. My internship orients around natural language processing, where I built a text classification algorithm based on textCNN, and a keyword extraction algorithm based on Rake.

Detailed Information of my work.