Brennan Cain

Computer Engineering Student and Robotics Researcher

Category: Projects

These are group and independent projects I work on for fun.

Spiral Generation

I am working on some patterns for a UAV. The spiral pattern is a basic one and this is my code for generating spiral patterns with equidistant waypoints.

Programming Examples: Sorts Complete

Background In any course of study in Computer Science and Engineering, sorts are one of the first topics covered, generally in data structures or a similar class. I first learned the simple sorts (Insertion and Selection) in high school. When I decided to begin this project, sorts were one of the first items for me

Triangles and Circles

In my Math 300 class, I wrote a proof for the equivalent area of a circle and a right triangle with legs of length of the circumference and radius. This is a simple proof that was a final project for my transition to advanced math class. It was fun to work on and to try

Assembled Hexcopter with Controller

The chassis for the hexcopter came in and I assembled it today. We ordered a DJI Flamewheel 550 which is a medium sized hexcopter with all DJI propulsion systems. We hooked up the ESCs to an ardupilot controller with telemetry radio radio and made a short test flight in the show that all of the

PWM Generation and Progress

The last couple of weeks, we’ve been working on learning about FPGAs and controls. This week, we made progress on the architecture of the FPGA as well as how to communicate between different IPs. We decided on a few structural componentsu00a0 such as to place the sensor processing to motor mixing in a single IP


A Hackathon is an “invention marathon.” ColaHacks was a hackathon sponsored by the University of South Carolina Women in Computing and Association for Computing Machinery student groups. At this hackathon, I worked on a team of three to design a sample software for computer science teachers to use in class. This software is able to

Genetic Algorithm for Traveling Salesperson Problem

I decided to revisit an old problem from my junior year artificial intelligence class. My final project was a genetic algorithm to find a non-optimal solution to a Traveling Salesperson scenario. This is not complete as it is not guarenteed to give an optimal solution in any run time, but it gives a reasonable route

Dragon Curve

I was working on a project for my math class and realized I had never implemented the dragon curve using linear algebra. I spent 15 minutes playing around with my calculator, realized I’m dumb, and spent 5 minutes minutes whipping this up using numpy. Code on github under my fun folder.

Programming Problems

I’ve begun to implement some of the classical programming problems in a Github repo. My goal for this is to become familiar with many of the problems in several languages. My plan for implementation is below: Sorts Data Structures Networking (server and clients) Machine Learning (Linear Regressor, Genetic algorithm, neural nets, k-means,) Path finders(Greedy, Djikstra,

Robotic Control Systems Class

I am teaching a class at my high school on the basics of robotics control systems and autonomous robotics. I derived the base curriculum from my research at MIT and adapted it to suit the programming skill level of my students. So far, this class has been a great success, my students are learning well