Research
Python, PyTorch, PyTest, Gymnasium, Reinforcement Learning, Meta-Reinforcement Learning  ]

Summary

I’m conducting research in model-based meta-reinforcement learning, focused on designing better model selection strategies for fast task adaptation. Our goal is to outperform existing methods like FAMLE, which rely on random exploration. We’re experimenting with a novel selection method that uses hypothesis-based decision making to prioritize informative rollouts over randomness. I’ve contributed heavily to experimental design, test coverage (via Pytest), and infrastructure supporting evaluation in Gymnasium using the MuJoCo Reacher environment. Many experiment configurations and implementation details were my own. While results are still developing, this work has sharpened my ability to navigate complex RL pipelines, debug under uncertainty, and iterate quickly. We aim to publish by the end of 2025 and are excited about advancing data-efficient meta-RL through smarter exploration.

Assembly Digital Thread
March 2024 - May 2025
Python, Rust, Tauri, Svelte, Ultralytics, Computer Vision, Object/Anomaly Detection, CI/CD  ]

Summary

At Purdue’s Digital Enterprise Center, my research team was dedicated to developing a manufacturing workflow which integrates with IoT tools, computer vision, and Solumina MES to streamline the assembly process. To showcase this workflow, we assembled a commercial oil pump over three workstations that would each be responsible for a subset of the assembly steps. As a part of this project, I built software to perform computer vision aided foreign object debris detection, assembly verification and comprehensive data collection which promotes efficiency, consistency, and traceability of the assembly process.

Assembly Area

The Assembly Area

Notable Work

  • For a faster training pipeline, I leveraged image augmentation to increase our dataset by up to 64 times, allowing us to efficiently add new objects of interest to our set of foreign objects. I also streamlined the development and new-hire integration process by creating a CI/CD pipeline using the pdoc library alongside GitHub Workflow, enabling automated building and deployment of a documentation page for the data wrangling and model training scripts.
  • Using Rust, Tauri, and Svelte, I developed a desktop application prototype for multi-camera selection and real-time object detection. Starting with example object detection code from the official YOLOv8 repository, I improved performance 5x by parallelizing pre and post-processing using Rayon.
  • Re-wrote legacy Python code, correcting major issues like unblocked concurrent file access. Replaced inefficient system calls that launched new command-line processes with lightweight threading for improved performance and resource management.
  • Currently working on integrating the computer vision pipeline with Atlas Copco’s PF6000 controller for real-time feedback on the assembly process. This will allow us to detect and correct errors in real-time, reducing the need for manual inspection and rework. Assembly data is stored in Solumina MES via its native REST API for enhanced traceability and analysis.