Computer Vision and Robotics
Projects relating to computer vision, controls theory, and motion planning.
A program to detect lines, circles, or both from a USB camera stream using Hough detection method.
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 using a Jetson Nano 2GB, OpenCV, Lidar, OpenCR and
ROS.
Parallelism
Projects relating to parallel computing (focused on synchronization and resources management).
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).
Utility tool to visualize syslog output. Helpful for debugging headless programs while reducing debugging
statements overhead (compared to, for example, stdout).
Utility tool to visualize strace outputs. Helpful for debugging parallel computing programs with shared
resources and synchronization mechanisms.