Computer Vision and Robotics

Projects relating to computer vision, controls theory, and motion planning.

Hough Lines and Circles Detection

A program to detect lines, circles, or both from a USB camera stream using Hough detection method.

Laser Pointer Tracker

A program to detect the foreground target (laser spot) using histogram analysis and frame differencing, and lock on target by overlaying a crosshair marker on the center of the detected spot.

Adaptive Object Detection, and Obstacle Avoidance Robot

Adaptive object detection, and obstacle avoidance robot using a Jetson Nano 2GB, OpenCV, Lidar, OpenCR and ROS.

Parallelism

Projects relating to parallel computing (focused on synchronization and resources management).

Gold Mining

A terminal-based gold mining game. Supports up to 5 players, and customizable maps. Utilizes linux's task parallelism methods (i.e., POSIX multi-processing/threading), and resources management modules (shared memory, pipes, sockets, and message queues).

Automation tools

Tools to automate testing and debugging. I find these tools helpful during projects bring-up and benchmarking (data collection and visualization).

Syslog visualizer

Utility tool to visualize syslog output. Helpful for debugging headless programs while reducing debugging statements overhead (compared to, for example, stdout).

Strace visualizer

Utility tool to visualize strace outputs. Helpful for debugging parallel computing programs with shared resources and synchronization mechanisms.