Dr. Harwell is a post-doctal researcher specializing in theoretical swarm robotics. His PhD thesis developed new theoretical tools for measuring, modeling, controlling, and (critically) predicting the behavior of bio-inspired multi-agent systems from small (≤ 5 agents) to large (≥ 10, 000 agents) scales, and targeted applications to foraging and construction tasks in dynamic, dangerous, and unknown environments.
His research interests lie in the investigation of behavior in interacting multi-agent systems, at the intersection of task allocation, mathematical modeling, complexity theory, robotics, and swarm intelligence. He is interested in the following broad areas:
Understanding the fundamental principles of large systems, including the “unpredictable” behaviors which emerge as systems interact with their environments in non-trivial ways, to develop better models of collective behavior. Developing mathematical models for predictive control of large-scale multi-agent systems from first principles which are robust enough to cross the simulation-reality gap. Of particular interest are applications in dangerous or unstable environments (e.g., mining, space exploration), or dynamic environments (i.e., those which are modified by the swarm as it operates), such as agriculture, autonomous construction, debris/waste removal.
In addition to theoretical swarm robotics, Dr. Harwell is also interested in bringing elements of software engineering into research in order to accelerate research progress and reproducibility through automation. He has authored several tools and frameworks towards this goal, including:
LIBRA (LuigI Build Reusable Automation). A handy cmake automation framework for devops tasks for C/C++ projects. See the project or docs pages for more details.
SIERRA (reSearch pIpelinE for Eeusability, Reproducibility, and Automation. Plugin-based tool that makes it easy to investigate research questions like “How will system behavior change if I vary X between 1 and 10?”. Targets robotics and multi-agent systems, handling low-level engineering details such as execution environment and platform (arbitrary simulator, real robots, etc.) configuration. See the project or docs pages for more details.
PhD in Computer Science, 2022
University of Minnesota
MSc in Computer Science, 2018
University of Minnesota
BSc in Computer Engineering, 2013
University of Wisconsin-Madison
Stochastic processes, Differential Equations, Graphs, Matroids
Genetic algorithms, Biomimetic Algorithms, Emergent Behavior
Linear Programming, Computational Optimization
C++, C, Python
Linux, RTEMS, HPC Clusters, ARGoS, ROS
Boost, OpenMP, MPI, LLVM, VTune, git, cmake