Brennan Cain

Computer Engineering Student and Robotics Researcher

Previous Works

This page contains many of the works and research projects I have contributed to. They will state the extent of my contributions and the results of the work.

MK-RRT*: Multi-Robot Kinodynamic RRT* Trajectory Planning

This paper introduces MK-RRT*: a Multi-robot Kinodynamic RRT*-based framework for trajectory planning of multiple dynamically-modeled robots. The framework includes both tightly-coupled and loosely-coupled methods for planning. The simultaneous, tightly-coupled, method provides an asymptotically optimal solution to the multi-robot trajectory planning problem. A sequential, loosely-coupled, method is also developed to compare costs of the generated trajectories and computational complexity of both methods. An application of this framework to multi-UAV trajectory planning is presented and experimentally evaluated using a team of Ryze Tello EDU UAVs.


Sequentially Planned Trajectories
Simultaneously Planned Trajectory

A marsupial robotic system for surveying and inspection of freshwater ecosystems

I worked in tandem with a PhD student to create a cooperative robotic system of an Unmanned Aerial Vehicle and Unmanned Surface Vehicle for surveying near-shore structures and freshwater ecosystems. I developed the system architecture, wrote large amounts of code, and ran experiments. This paper was published in the Journal of Field Robotics.

Image of the drone in flight over the jet-powered kayak

Experimental Comparison of Open Source Visual-Inertial-Based State Estimation Algorithms in the Underwater Domain

I ran experiements and created figures for a survey paper on SLAM systems in the underwater domain (underwater caves, sunken objects, etc.). This paper was published in the  International Conference on Intelligent Robots and Systems.

PynqCopter – An Open-source FPGA Overlay for UAVs

I worked on a team of 3 during my time at the University of California, San Diego for the NSF REU program. We developed an FPGA overlay for use with the Xilinx Pynq SoC board. This included developing the circuitry and python drivers for the full data flow, from sensors to motor output. I worked on receiving RC input, developing the PID controller, and driving the motors. This work resulted in a publication in the IEEE International Conference on Big Data’s special symposium for REU.

Luminescence Calculator

I helped a friend during her research with flourescent miocroscopy. I wrote a python program which analyzed the image of a C. Elegan under a flourescent microscope to determine the average luminescence over the area of the worm. This program was used to collect the raw data which yielded statistically significant results. 

Robotic Control Systems

I developed a course at the Governor’s School for Science and Math to teach what I learned from the BWSI. This was the first course in the school’s history to be taught by a student. I received funding from the academics department to build the MIT RACECAR. I taught a class of three students, and each felt comfortable developing controls with ROS by the end.

American Society for Gravitational and Space Research, Capillary Flow Challenge

I worked in a group of three to design a glass tube and nozzel to be dropped in the Glenn 2.2s drop tower. I was responsible for numerical simulations and developing the CAD design of the nozzle. We were invited to the 2016 ASGSR conference in Cleveland, Ohio to present our results and won the competition with the earliest and highest velocity ejection.

MIT Beaver Works Summer Institute (BWSI)

This was a summer institute for High School students to learn about robotics. I attended the pilot class in 2016. I worked on several small teams to develop autonomous robots that would race around a Grand Prix track. In the final competition, my team placed 3rd.