Overview

Here are some interesting projects I have done. Most of them are not directly related to my research, but I like exploring different areas in Robotics.

Capture.JPG

Ouija Bot

An omni-directional ground robot that was designed and built from group up. It has an ARM Cortex-M4 processor for low-level motor control and Raspberry Pi for high-level computation.

It is compatible with ROS and is able to perform Simultaneous localization and mapping (SLAM).

lanline.jpg

Lane-lines Detection

A Sobel Edge Detection approach to find lane lines from a video stream. The final output includes marked frontal region and polynomial equations for approximating lane lines using regression.

The input images are preprocessed with color filter in HSV color space and perspective warping. To speed up the process during detection phase, a sliding window technique is used for regression.

0_cFTPlVHY7o81tY26.png

German Traffic Signs Classifier

A Convolutional Neural Network (CNN) based classifier that reaches 96% validation accuracy on German Traffic Sign Recognition Benchmark (GTSRB) dataset.

 

Autonomous Driving using Convolutional Neural Network (CNN)

In this project, a CNN is used to learn the driving behavior from me. The main idea is to have the neural network to capture the input (images from three different perspectives) and output (control) mapping.

After sufficient amount of data collection and training, the CNN then is able to drive the simulated car itself.

Extended Kalman Filter (EKF)

I have implemented an EKF in C++ to perform state estimation in a 2-D simulated environment. The measured state comes from LiDAR and Radar units which have different coordinate system (Cartesian and Polar, respectively). The estimation error is calculated using Root Mean Squared Error (RMSE) for performance evaluation.

The code can be found here: Link