Below are a few technical projects of mine.
- Go Behave - an extensible behavior tree library in Go
- Wloggr.com - a web app for logging workouts
- Self-Balancing Robot
- Extremum-Seeking Control
- Reduction of Static Noise in Real Time
December 2018. Go Behave is a behavior tree library in Go. Please refer to the project repository for more information.
August-October 2018 (on hold). Wloggr ("workout logger") is a web application that lets users register and maintain a log of workouts. The frontend is built with React.js and communicates via a RESTful API with a Go backend. Code is available on the project repository.
November–December 2017. In a control systems project course, three other students and I built a self-balancing two-wheeled robot using LEGO Mindstorms components. We implemented and compared two different control strategies: PID control and linear-quadratic control. We compared two different filtering methods—Kalman filtering and complementary filtering—for the measurements taken by a gyroscope and an accelerometer. The control algorithms were implemented first in Simulink and then in leJOS on a LEGO Mindstorms EV3 microprocessor. The project report can be found below.
April–June 2017. As the final project in an advanced course in control theory I chose to investigate an area of control engineering known as extremum-seeking control. While the aim of conventional control is to drive the output of a system to a predetermined reference value, the purpose of extremum-seeking control is to create a controller that finds an optimal reference value for a system to operate at. This type of control is often used within the process industry to optimize system performance and subsequently minimize resource usage. The project report can be found below.
February 2017. In a digital signal processing project course, a fellow student and I investigated and implemented an algorithm for reducing static audial noise in real time. The solution was implemented on a SHARC DSP. The project report below further explains what we did.
This website is built with Flask, a Python web framework, and a set of useful templating engines. These tools reduce code duplication and increase maintainability. However, as there is no need for dynamic interaction with the user, I also use Frozen-Flask which creates a set of static files from a Flask application. This lets me host the website with GitHub pages which is both fast and free. The GitHub repository for the webpage can be found here.