Projects


Visibility-Based Robot Escort Algorithm

Abstract: In this work we present a solution to the visibility- based escort problem, a problem closely related to the well- researched pursuit-evasion problem. This novel problem entails a single escort agent tasked with protecting and escorting one or multiple VIP agents from line-of-sight threats in a 2-dimensional environment. The algorithm takes as inputs a simply-connected polygonal environment, the starting location of the escort, and a goal location where the VIP agents should be safely moved to. The solution comes in the form of a path that is not a sequence of exact locations but rather a sequence of regions in which a VIP agent can safely exist. We search for a solution using a breadth first search across an information graph constructed from the environment. The proposed method is capable of calculating non-trivial escort agent strategies from various starting configurations in diverse environments. Full Paper, Video Demo

Interceptor Missile Guidance through Deep Reinforcement Learning

Abstract: The following project details the application of reinforcement learning to develop a policy for interceptor missile guidance. First the motivation and scope of the project are outlined. Then, the Markov Decision Process (MDP) is formulated and the related work is discussed. The problem is formalized as an agent missile tracking and intercepting a target missile before it has the chance to impact the ground. The implementation utilized an agent relative observation space and an advantage actor-critic algorithm. The reward function was uniquely developed and showed the convergence to desirable policies even in the presence of disturbances to the target missiles heading. Further, in some cases the agent could learn to account for states that resulted in a higher future probability of interception due to the approach characteristics. Full Paper, Project Video

Comparing Performance of Parallel Maximal Independent Set Algorithms

Abstract: Many parallel algorithms exist for finding a maximal independent set (MIS) of nodes in a graph. Despite the development of many parallel MIS algorithms, the comparison of these algorithms has not been well investigated. The concept of finding a MIS implies finding a large set of independent nodes is ideal. Given this notion of larger MISs being better, it is beneficial to know which parallel algorithm provides the largest MISs. Many other graph algorithms utilize MISs and could benefit from obtaining larger sets of independent nodes. This work investigates MIS sizes returned by parallel algorithms on a variety of graphs. Additionally, the novel parallel algorithm, Degree One, is introduced and shows an increase in MIS size ranging from 2.7% to 8% when compared to the next best MIS algorithm. The algorithm contains a hyperparameter which allows for a trade off between MIS size and the amount of parallel rounds needed. Full Paper

LLNL Projects

Computing Scholar Project

Worked with Dr. Roger Pearce and Dr. Trevor Steil on developing new graph centralities based on random spanning trees. The main motivation was to find a centrality which could scale to large scale networks. Here is a short three minute video from my Summer Slam presentation.

DSSI Project

My internship at Lawrence Livermore National Laboratory included being apart of the Data Science Summer Institute 2022 Cohort. Myself and three other interns were tasked with applying machine learning to create models capable of predicting ligand protein bonding with Covid-19. We developed two prediction models. One trained on a tabular dataset comprised of characteristics of the protein. Here we applied a variety of classifcation algorithms such as logistic regression, SVM, k-NN, and random forests. The second model was developed by taking the spatial data of the protein and translating it to a graph. The atoms represented the nodes and the edges represented the bonds. This enabled us to train a graph neural network (GNN) to create the prediction model. We were able to achieve an 82% accuracy on the test dataset. The project was implmented using scikit-learn, Pytorch, and various other python libraries.

Walks: Senior Capstone Project

Walks is the name of the web application my fellow group members and I developed for our senior capstone project. The app was made to give users the ability to give other users access to their whereabouts when going on hikes or other outdoor adventures. Walks also allowed users to plan trips and invite other users to these trips. We not only utilized phones as GPS devices for the app, but we also integrated physical GPS devices produced by geoforce with our application. The web app was developed using React.js and Django along with a large amount of 3rd party APIs. The mobile application was developed through Swift, and the whole application was deployed on an AWS EC2 server. We implemented an agile like development cycle throughout the project which included two week sprints and weekly meetings to discuss the project. Full Software Manual

Exercise Evaluations Program

This project was the result of my time as a Kilgore Undergraduate Researcher. I utilized OpenPose, a pose estimation library which can extract the pose of a human body from a video or image. The points generated by OpenPose were then used to analyze an individuals movements throughout a workout. The squat was chosen as the exercise of focus due to its ease of evaluation from a single angle. Additionally, I consulted with a biomechanics professor on what to look for in improper squat form. I created a GUI to allow the user to easily see where the system was detecting errors. After the analysis, the user is displayed with various stats from the exercise such as average repetition time, number of repetitions, and overall grade of the exercise. The program also maps the knee angle of each repetition to give the user the ability to visually compare each movement in the set. Picture of GUI