Inspiration
Our team consists of 3 geology enthusiasts who believe that each rock, no matter the celestial body, has its own story. As a result, we created a rover that is able to collect and autonomously analyze rock samples.
What it does
- A person drives it from a live camera feed.
- The camera finds rocks by color. White is a normal rock. Green is a weird radioactive rock. Purple is a cool rock. Blue is an insane rare rock.
- Colored boxes on the video help the driver spot the rare rocks fast.
- An arm picks up rocks and stores them.
- An AI vision model describes what makes each sample special.
How we built it
Hardware. The base, arm, and claw were designed in CAD and 3D printed on our own printers. A Raspberry Pi 5 runs C firmware that controls the motors and servos.
Network. A Raspberry Pi 5 creates its own WiFi network. The rover joins it and streams video to the Pi 5 in real time.
Vision. We wrote the color detection in Python with OpenCV. It runs on the Pi Zero in HSV color space on a shrunken frame, so it stays fast. Detections travel with each video frame over a custom TCP message format.
Tuning tool. We built a tuner where you click a rock and the color ranges fill in on their own. This let us recalibrate quickly under the venue lights.
Challenges
- Colors change with the lighting, so our first settings kept failing.
- The Pi Zero is slow, so we had to shrink frames and cut work.
- Our Pico burned out and the motor driver short-circuited several times. Each failure cost us time and forced us to slow down and check the wiring. -We faced challenges with the 3d printers but were able to compensate by tuning print settings
What we learned
We learned that we should prioritize things that could potentially go wrong first. In this case, we should have done the wiring and basic motor control first before fully assembling the rover.
What's next
- Autonomous mode. The rover would spin to scan, find rare rocks, and drive to them on its own.
- Home and boundary landmarks.
- Spoken narration of each sample.
Log in or sign up for Devpost to join the conversation.