UTRAHACKS
Inspiration
This challenge draws inspiration from the Winter Olympics biathlon, a sport defined by the balance between sustained motion and moments of precision. The event’s demands—speed, accuracy, and adaptability—closely parallel the challenges of autonomous robotics.
Our objective was to explore how these principles translate into robotic systems, emphasizing software structure and autonomy as the primary drivers of reliable behavior rather than ad-hoc mechanical tuning.
What It Does
The robot autonomously navigates a Winter-Olympics–style course by coordinating perception, decision logic, and actuation. Its behavior is decomposed into discrete functional stages executed sequentially through software.
Core capabilities include:
Object Interaction
Retrieving a cube from the starting area and depositing it into a designated blue zone, enabling access to subsequent course elements.Navigation
Traversing one of two possible routes:- Red Path — a constrained obstacle course requiring frequent heading corrections
- Green Path — straight and curved ramps demanding consistent speed and incline handling
- Red Path — a constrained obstacle course requiring frequent heading corrections
Target Alignment and Actuation
Using color-based perception to align with a target region and launch a ball with controlled timing.Behavior Selection
Adapting navigation and targeting behavior based on the selected path, with configurations updated via software changes rather than hardware rewiring.
How We Built It
The robot was constructed entirely from components provided in the hacker kit, with a design philosophy centered around clear separation between hardware interfaces and behavioral logic.
Key Components
Control & Software Architecture
- Arduino Uno R4 Minima as the central controller
- A modular C++ codebase structured around clear abstraction boundaries
- Separation of concerns across:
- low-level hardware drivers (motors, sensors)
- mid-level perception and calibration modules
- high-level behavioral routines representing course segments
- low-level hardware drivers (motors, sensors)
- Function-based behavior modules, enabling individual tasks (navigation, targeting, object handling) to be developed, tested, and iterated independently
- Enforced code consistency using clang-format to eliminate style ambiguity
- Comprehensive inline documentation, with API-level comments generated using Doxygen to support maintainability and parallel development
Actuation
- Differential drivetrain with two DC motors, controlled by an L298N motor driver
- Two servo motors controlling articulated mechanisms for object manipulation and ball launching
Perception
- Ultrasonic sensor for distance-based obstacle detection
- Color sensor for navigation cues
- Two IR sensors for line following and course alignment
Power & Structure
- Powered by a 9 V battery
- Mounted on a laser-cut base with securely fastened motor mounts and structural supports
Challenges We Ran Into
Environmental Variability
Lighting conditions on the demo course significantly affected sensor reliability, particularly for color detection. Calibration and thresholding were therefore handled in software to allow rapid tuning without mechanical changes, and the sensor's frequency sensitivity was adjusted to 20%.Time Constraints
Completing the full course within a strict 5-minute limit required careful coordination between sensor polling rates, actuation delays, and execution order.
Accomplishments We’re Proud Of
Strategic Scoring Execution
Successfully completing high-value maneuvers, including:- Launching a ball into the region between the blue zone and the wall (5 points)
- Navigating the curved ramp section in practice (4 points)
- Launching a ball into the region between the blue zone and the wall (5 points)
Software Reliability
A structured and modular codebase reduced integration errors and enabled rapid debugging under time pressure.Autonomous Operation
Sensor-driven behavior allowed the robot to complete the course with minimal resets or unnecessary reuploads, avoiding penalties and improving robustness.
What’s Next for *Vertically Inclined*
Algorithmic Refinement
Improving robustness through refined sensor processing and tighter timing control. Optimize our line-tracking s.t sensor-based data have greater influence over our hard-coded methodsSustainability Considerations
Exploring reduced material usage and reusable components while preserving extensible software architecture for future iterations. Many of the bugs and inconsistencies were due to poor batteries and their inability to recharge. We'd like to extend this beyond the hardware constraints of the single 9V Alkaline to rechargable, or perhaps two in series in attempt to overclock the motors, as we did confirm it was a safe possibility.
Log in or sign up for Devpost to join the conversation.