The Distributed Planetary Analysis Platform (DPAP)
Introduction
The frontier of scientific exploration in space inspired us to find ways for robots to conduct research on their own. Hercules + Cerberus are a humanoid + rover combo that can explore their environment, collect samples, and evaluate them based on value and relevance to discovering life on foreign planets, demonstrating environmental awareness and autonomous decision making.
Inspiration
Many of the features we implemented were similar to assembly line robotics, such as the sample analysis feature provided by the humanoid robot. We were also inspired by startups pushing for centralized intelligence.
What it does
We split the tasks between two robots. Typically, lunar rovers will roam the surface alone and take limited samples. These samples likely cannot be analyzed until later on. We streamlined this exploration and analysis process by allowing the rover to go out, collect samples, and return to the humanoid, which can examine the samples. The rover uses OpenCV AprilTag/Aruco detection to lock onto fiducials, steer with proportional control, and modulate ESC speed based on tag area (distance). The humanoid uses PhotonVision + NetworkTables fiducial IDs, then applies inverse kinematics to pick up and sort samples. A web mission-control dashboard aggregates telemetry, ranks regions, and dispatches the rover to the most promising site.
How we built it
We initially wanted to provide added functionality to the robot, specifically to get it walking. Unfortunately, the robot model was physically constrained (lacking a knee, top-heavy, etc.), disabling it from walking reliably. Instead, we decided to continue to add features to the upper body (inverse arm kinematics) and delegate the rest of the work to a rover. In many ways, our process of building was also our way of overcoming challenges that cropped up during the competition.
Technical implementation
- Humanoid control (this repo): Python servo control via Pololu Maestro, 3-DOF inverse kinematics, AprilTag-to-arm mapping, and PhotonVision/NetworkTables vision hooks for fiducial localization and pickup sequencing.
- Rover control (Raspberry Pi):
pigpioPWM control for steering/ESC, OpenCV AprilTag/Aruco (DICT_APRILTAG_36h11) detection, and a Flask/navigateendpoint that triggers autonomous drive-to-tag behavior with obstacle avoidance routines. Repo: https://github.com/pamin1/RoboHacks_RaspPi - Mission control web interface: React + Vite + Tailwind dashboard with Framer Motion animations, Mapbox/MapLibre Mars basemap, and a Lottie rover overlay. The Flask API hosts
/api/analyze,/api/dashboard, and a dispatch endpoint that posts commands to the rover; samples are scored in-memory via rule-based inference (keyword mapping). A NetworkTables bridge listens to PhotonVisionrawBytes/fiducialIdand forwards ArUco IDs to the analysis service. Our preliminary site explored LLM-based sample analysis, but time constraints led us to simplify the model using example data. Repo: https://github.com/JustinKhem27/dpap_web_interface_robotech26
Accomplishments that we're proud of
Our team is very proud of how we dealt with the unexpected challenges of working with humanoid robots. After we had spent 5 hours in vain to get the humanoid walking, it was not an easy decision to take a risk and abandon our plan, instead ideating to build a brand-new robot, yet by staying true to our strengths, we were able to get everything up and running in just over twelve hours. We also believe that approaching inverse kinematics and combining it with CV was unique and non-trivial. We are proud of the breadth of skills and features we added across the software stack, from web development to control theory.
What we learned
We learned much more about the intersection of typical software engineering and the applications of robotics. More abstractly, we learned to step back, reframe, and continue when we faced unexpected challenges with the platforms we were given. Finally, integrating multiple mobile systems and a web server was a unique integrations challenge.
What's next for Distributed Planetary Analysis Platform
Looking ahead, we would love to explore swarm robotics and bring in more rovers. By building small, nimble rovers that specialize in collecting and transporting samples, we can empower faster and more advanced research with specialized robotic scientists like Hercules.
We also want to bring more computing power to the rovers, allowing us to introduce localization and mapping for better decision making.
Log in or sign up for Devpost to join the conversation.