Inspiration
We based our idea on the fairytale Hansel and Gretel, which is a tale of two children who get lost in a forest after birds eat the breadcrumbs they left behind to remember their way back home. We were shocked to learn that every year, around 50% of the people who go missing are exclusively solo hikers. Hikers often go missing when they stray from known paths are stranded in areas with no reception. This equates to roughly 13 people getting lost every day and a loss in over $5M every year.
What it does
Our robot, BreadCrumbs, solves this problem by helpings hikers navigate back to camp when they get lost and have no cellular or satellite coverage. The robot begins in tracking mode, where it follows the hiker and keeps tracks of waypoints along the way. The other mode, backtracking, is activated by the user, which causes the robot to lead the way back by following the breadcrumbs it left behind.
How we built it
We used a Raspberry Pi to run our waypoint pursuit and LiDAR human-classification algorithms, and the Arduino handled low-level motor control and pose estimation with localization. This architecture leveraged the low-latency performance of the Arduino to offer responsive motor control, and the high memory bandwidth (8 GB) of the Raspberry Pi to run computationally expensive routines. The design for wheels, track links, and the overall robot was done through OnShape. Code was developed through VS Code and agentic workflows with Claude Code and Codex to speed up writing test code and boilerplate code. Existing libraries in the ROS 2 framework and the 2D LiDAR People Detection package https://github.com/robotics-upo/upo_laser_people_detector
Challenges we ran into
Initially setting up the development environment with Raspberry Pi, Ubuntu Linux, and ssh for remote code development came with many debugging challenges. There were also some issues testing all motors due to some difficult-to-spot wiring mistakes. Polishing our wire diagram helped us overcome this. Merging multiple input sources (the motor encoders and the LiDAR detector) was difficult to brainstorm, but diagramming our ROS 2 architecture helped us narrow down on the actual code implementation.
Accomplishments that we're proud of
We created a navigable robot with limited materials, only using 3D printed parts, basic wheels, and plywood. Creating an architecture with two boards, the Raspberry Pi and Arduino, was non-trivial but worth it, because we dedicated the Pi to following/backtracking algorithms and LiDAR processing, and the Arduino for low-level motor encoder processing and robot localization. Our project is also reproducible and apt for upgrades to the SBC or microcontroller, because the final ROS 2 build is in a Docker container with a configurable .yaml file.
What we learned
We learned that no matter the preparation on paper, real integration will always throw problems and require fast problem-solving. We also learned that reading documentation and hardware specs beforehand is critical for saving time. Finally we also learned the value of reaching out for assistance with either other people or mentors especially those with more experience.
What's next for BreadCrumbs
In the future, we plan to implement 3D LiDAR for more complex data analysis and mapping. We also plan to scale the CAD and build with more durable materials. We also plan to test BreadCrumbs in noisy environments and uneven terrain to improve our bot's ability to navigate under unideal conditions.
Log in or sign up for Devpost to join the conversation.