NASA Space Robotics Challenge Phase 2
NASA Space Robotics Challenge Phase 2
Developing autonomous multi-robot software for simulated lunar resource excavation — 6th place out of 114 teams in NASA’s Centennial Challenge.
Team Mountaineers at the awards ceremony at Space Center Houston, September 2021. WVU placed 6th out of 22 finalists.
The Problem
One of the hardest open problems in space exploration is this: how do you send robots to the Moon to mine resources — water, oxygen, rocket fuel precursors — with zero human intervention? No remote control. No GPS. No safety net. Just robots, sensors, and code.
NASA’s Space Robotics Challenge Phase 2 (SRC2) was a two-year Centennial Challenge designed to push exactly this frontier. Teams around the world were given a simulated lunar environment in Gazebo and a fleet of heterogeneous rovers, and tasked with developing software that could autonomously search for, excavate, and haul volatile resources — all without a human ever touching a joystick.
The stakes were real: the algorithms developed here are directly relevant to NASA’s Artemis program and its plans for establishing a long-term human presence on the Moon.
The Challenge
The competition ran from 2019 to 2021 and was divided into two stages:
Qualification Round — 114 teams competed on three independent tasks:
- Task 1 (Scout): Autonomously explore the lunar surface, detect 28 randomly placed volatile deposits, and report their locations within 2 m accuracy.
- Task 2 (Excavator + Hauler): Navigate to known resource sites, excavate volatiles with a 4-DoF arm, and load them into a hauler bin without spilling.
- Task 3 (Scout): Detect and localize a randomly placed CubeSat up to 25 m above the surface, then autonomously align with a processing plant marker.
Finals Round — 22 qualifying teams combined all three tasks into a single coordinated mission using a full team of six robots simultaneously, adding power constraints, harsh lighting, and randomized terrain.
My Contributions
This was a large collaborative effort within WVU’s robotics program. My focus was the full autonomy stack — the layer between perception and motion that makes rovers decide what to do, when, and in what order.
Finite State Machines for All Three Rover Types
I implemented the FSMs that governed each rover’s moment-to-moment behavior across both competition rounds. Each FSM was tailored to its rover’s mission:
-
Scout FSM — managed the exploration loop: navigate to waypoint → scan for volatiles → report detections → perform homing update for localization correction → recharge → repeat. The Scout had no hard requirement to reach every waypoint; the FSM was designed to prioritize coverage over precision, gracefully skipping blocked areas and adapting to terrain.
-
Excavator FSM — coordinated the dig cycle: navigate to excavation site → identify safe Hauler parking position → command Hauler into position → confirm docking → excavate with the 4-DoF arm → monitor bucket fill → signal Hauler to depart. Getting this sequencing right was critical — a misaligned Hauler meant spilled clods and lost points.
-
Hauler FSM — managed the transport loop: receive site assignment → traverse to excavation site → execute precise docking maneuver alongside the Excavator → wait for fill confirmation → depart to processing plant → deposit volatiles → recharge → homing update → repeat.
Overview of the cooperative autonomy architecture: centralized task planner allocating goals to six rover FSMs running in parallel.
Centralized Task Planner
Beyond the individual rover FSMs, I developed the centralized task planner that coordinated the six-robot team at the mission level. The planner maintained a global volatile map fed by Scout detections and allocated Excavator-Hauler pairs to collection sites based on rover idleness and distance minimization. It was responsible for:
- Tracking each rover’s state and availability in real time
- Assigning excavation targets to whichever Excavator was closest and idle
- Synchronizing Excavator-Hauler pairing so each Excavator always had a dedicated Hauler companion
- Replanning dynamically when rovers got stuck, needed recharging, or returned from a deposit run
The architecture followed a centralized planner / decentralized execution model: the planner assigned goals, but each rover’s FSM handled all local decisions autonomously.
Driving Control & Arm Control
In addition to the FSMs, I contributed to the low-level software for rover driving control and the Excavator’s arm control — implementing the command interfaces that the FSMs used to actually move rovers and operate the bucket end-effector. Perception (volatile detection, CubeSat localization, terrain mapping) was handled by teammates.
The simulated lunar environment in Gazebo, featuring hills, craters, rocks, volatile deposits, and a processing plant.
Results & Impact
- Qualified for Finals as one of only six teams to earn the top Qualification Round prize out of 114 entrants
- 6th place out of 22 finalist teams (and top 22 of 114 original entrants) in the NASA SRC2 Finals
- Scored 70 points in the Finals — 35 points above the qualifying threshold — earning $30,000 in prize money
- ~35,000 lines of code across the full competition
- Published two peer-reviewed papers documenting the approach (see links below)
- Demonstrated a complete cooperative ISRU pipeline: search → excavate → haul → deposit, running fully autonomously across six robots
What I’d do differently: The centralized task planner was a pragmatic choice under competition time pressure, but it creates a single point of failure. A distributed planning approach — where each rover negotiates task assignments through auction-based or contract-net protocols — would be more robust for a real mission where communication dropouts and robot failures are expected.
Technical Details
| Category | Details |
|---|---|
| Simulation | Gazebo (ROS interface), ROS Noetic, Python, C++ |
| Autonomy | Finite state machines (per rover type), centralized task planner |
| Robots | Scout (×2), Excavator (×2), Hauler (×2) — all simulated 4-wheel-steering rovers |
| Key Algorithms | Coverage path planning, docking maneuvers, wheel slip detection, immobility recovery, homing-based localization correction |
| Domains | Multi-robot coordination, autonomous task planning, GNSS-denied navigation, robotic excavation, lunar ISRU |
| Team | WVU Team Mountaineers — ~17 graduate students, led by Prof. Jason Gross |
Links
- 📄 Qualification Round Paper — IEEE Aerospace and Electronic Systems Magazine, 2021
- 📄 Finals Round Paper — Frontiers in Robotics and AI, 2023
- 🎥 Qualification Round Video
- 🎥 Final Round Video
- 🌐 Team Mountaineers Website
- 🏛️ NASA SRC2 Challenge Page
- 🏛️ [NASA Centennial Challenge Winners] (https://www.nasa.gov/prizes-challenges-and-crowdsourcing/centennial-challenges/winners/)
- 📰 WVU Press Release — Finals Results