John Harwell

jharwell at sift dot net

PhD, Computer Science, University of Minnesota, 2022

MSc, Computer Science, University of Minnesota, 2018

BSc, Computer Engineering, University of Wisconsin-Madison, 2013

Dr. Harwell is a SIFT 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:

  1. 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.
  2. 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 Reusability, 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.

Dr. Harwell's areas of expertise include:

  • Swarm intelligence
  • Swarm robotics
  • Mathematical modeling of multi-agent systems
  • Distributed algorithm design and data structures
  • Software engineering
  • Real-time embedded systems
  • High performance computing computational optimization

His personal website is here.