interview

Purdue Lunabotics’ blastoff to autonomy in space.

Placing in the top 5 at NASA’s annual Lunabotics competition.

interview

Who is Purdue Lunabotics?

Purdue Lunabotics is an innovative team of undergraduate students dedicated to designing and building autonomous lunar mining robots for NASA’s annual Lunabotics competition. Each year, over 50 universities from across the nation participate, with teams traveling to the University of Central Florida to vie for a top-ten spot and the opportunity to compete in the finals at NASA’s Kennedy Space Center. This past May, Purdue made it through the qualifiers and placed 4th overall in the 2024 competition.

The competition’s goal is to build the largest berm, or pile of regolith (moon dust) within a set time frame. Points are awarded for doing things autonomously (such as digging, dumping, and moving around the field) , reducing the robot’s weight (to reduce launch costs to the moon), reducing power usage (to reduce the amount of charging infrastructure needed on the moon), and of course moving more regolith.. 

The competition, part of the Artemis Program, engages students in the future of human space exploration, offering a multifaceted challenge that integrates mechanical, electrical, and—most critically—software engineering.

The 2024 Purdue Lunabotics team, with their robot Alvie front and center.

Meet Alvie, the Purdue Lunabotics’ robot.

Designed in the fall of 2023, built in the spring of 2024, and taken to competition that May, Alvie is a complex piece of machinery equipped with critical sensors—including current sensors on each motor and encoders on both drive and excavation motors. Alvie continuously monitors for potential failures, assessing whether manual intervention is needed or if it can resolve the issue autonomously. For example, if the excavation system stalls due to aggressive digging, leading to increased current draw and reduced motor speed, the spike in current alerts the team before it can damage the motor.

The competition prioritizes autonomous capability, achieved by integrating Alvie’s sensors with front and rear cameras. These cameras use SLAM (Simultaneous Localization and Mapping) algorithms to determine Alvie’s position relative to obstacles in the arena and plan paths around them.

A strong build complements the software’s autonomy. Alvie’s drive system is rugged, allowing it to power through challenging situations. At one point, the robot autonomously drove into a large crater, instead of stalling or tipping, Alvie climbed out at nearly a 45-degree angle, resuming its path without issue. This resilience supports extensive testing without fear of damage, enabling the team to refine and test features.

Above the drive base are Alvie’s excavation and deposition systems, designed to dig, hold, and dump regolith efficiently. The excavation system is a reverse bucket ladder (or trencher) lowered into the regolith by two robust linear actuators, each rated for 150 pounds (with the robot weighing just over 100 pounds). As the buckets rotate, they scoop material, pressing it against a scraper plate to lift it into the holding bucket. Once filled, we activate an auger along the length of the bucket to push the regolith out the back, creating a berm as Alvie moves forward.

Team members collaborating around their Foxglove layout.

The Integration of Foxglove.

During the NASA competition at Kennedy Space Center, the Purdue Lunabotics team runs their autonomous lunar robot in 30-minute sessions. Throughout these runs, they rely heavily on Foxglove to monitor real-time telemetry data and assess the robot’s operational status.

The integration of Foxglove has significantly enhanced the team’s ability to diagnose issues in real time, improving both robot performance and operational efficiency. The Foxglove interface allows the team to detect changes quickly and take corrective action before any lasting damage occurs. By displaying all the robot’s messages in real time, the team can easily identify problem areas. Our default setup includes a camera view (to gather situational awareness of the robot), a graph with the speeds of all of our motors (to make sure the robot is moving like it’s supposed to), a set of gauges showing the current through every motor (to make sure that no motors are stalled), a text block of our autonomous commanded velocity (to make sure the autonomy system doesn’t ask the robot to do something stupid), and a 3-D map of the robot’s surroundings with the path the robot is planning to take shown on top (to make sure the robot can actually see all the obstacles and isn’t trying to drive over them). We also have specific setups for different purposes, such as debugging sensors, increased situational awareness, and reviewing data after a test or competition run is complete. 

Lunabotics' default layout in the Foxglove UI.

As an example of an issue that we diagnosed in real time, Foxglove helped us notice things that we might not have noticed if that data was not directly presented. The robot has two different control systems: manual control and autonomous control. Only one of them is supposed to be running at the same time, and the robot behaves weirdly when both of them start fighting. One tells the robot to go forward and the other tells it to stay still, and the robot quickly alternates between the two of them. When this happened, we were able to see the rapid changes in wheel velocity when there should have a steady forward motion, and were able to find out that we forgot to disable our manual control system.  

In another case, our current sensors failed to start up due an odd bug. Because this was a competition run, having all of our sensors working was of great importance. However, we don’t usually go through and check every subsystem of the robot, especially ones that start up perfectly almost every time (such as our current sensors). However, because foxglove already had the data, we were able to see that something wasn’t right with the sensors and reset them, after which they worked perfectly. Because of the utility of seeing what is and isn’t working, this year we’re working on adding dedicated diagnostics to every system (which will, naturally, be displayed in Foxglove). This will allow us to see if the robot is ready at a glance and tell us what is working and what is broken. 

Foxglove’s functionality goes beyond monitoring and diagnostics. Its ability to send custom messages has been invaluable for testing the robot’s response to various commands. For example, our robot's systems are split by the commanded velocity message. All of the autonomy algorithms work together to produce that value, which is then handed to our motor control loops, motor controllers and ultimately to the motors themselves to move the robot. By sending a commanded velocity of one meter per second forwards in foxglove, we can start narrowing down why things aren’t working. If the robot moves as expected, then our autonomy algorithms are acting up. If the robot doesn’t, then we know to check the motor controllers, make sure the motors are plugged in, and other similar tasks. This split can save us a lot of time troubleshooting, preventing us from looking through the wrong systems. 

Team members looking at their Foxglove UI on the projected screen.

Even after competitions, Foxglove continues to demonstrate its value. The team frequently uses its Rosbag playback feature to review competition runs and conduct in-depth post-analysis. During one run, the robot unexpectedly drove into a pillar. With no time for immediate troubleshooting, the team switched to manual control. Later, using Foxglove’s 3D Map feature, they discovered that the robot’s map had vanished for about 10 seconds. The robot’s path planner updates the path periodically, normally allowing for it to account for new obstacles or shortcuts that have opened up as the robot explores the field. However, in this case, that replanning worked against us, as without the map the robot didn’t know about any obstacles and simply took the most direct route - straight through a pillar. To make sure this problem didn’t happen in the future, we set the robot so that it ignored all empty and non-existant maps.

Conclusion

Purdue Lunabotics relies on Foxglove throughout every phase of their robot development and operation, from real-time monitoring during competition runs to post-event analysis. Its clean, intuitive interface enables the team to access critical data quickly and efficiently, playing a vital role in their success. Check out and learn more about Purdue Lunabotics and get started with Foxglove for your robotic projects today.

Read more

Start building with Foxglove.

Get started for free