Source code for the Lane Centering Bracket Bot, created by team red during the Feb 7-9 2025 Bracket Bot hackathon at University of Waterloo.
- Krish (https://github.com/Krish120003)
- Rachelle De Man (https://github.com/demanr)
- Jackie Yi (https://github.com/Luigimash)
One of the challenges of the hackathon was to be the first team to autonomously drive a bracketbot from E6 to E3 over the bridges.
Our team (and our bracketbot) won the challenge! We were the first to successfully drive the bracketbot from E6 to E3 autonomously by using a lane detection and centering implementation. Here is a time-lapse of our bracketbot driving from E6 to E3 at ~1:40 AM on February 9th, 2025:
bracketbot_timelapse.mp4
During the hackathon, we had several options for collecting environmental data:
- Intel RealSense depth sensor for localization and mapping
- A basic Amazon webcam
- iPhone sensors (camera, GPS, or depth data)
Since RealSense cameras were limited in quantity, we opted for the webcam solution. While we attempted to utilize iPhone data, network reliability issues prevented its use for real-time operations.
After getting the data, we needed to navigate next. We researched some techniques like optical flow existed, but our team's limited experience made those techniques infeasible. The time constraints forced us to adopt, and we went with a Tesla-inspired approach: vision-based lane detection for autonomous navigation.
We developed an OpenCV-based lane detection and centering system that identifies lanes marked by red plastic cups and maintains the bracketbot's position in the center. Using the provided MQTT implementation, we sent continuous angular and linear velocity commands to keep the bracketbot centered. The implementation details can be found in core/node_correct.py.
bracketbot_cv2_vision.mp4
- Better code performance (keep cv2 capture open but dupm the unused frames using another thread)
- Improve accuracy by addressing physical wheel issues
- Implement advanced lane detection using neural networks or other object detection methods
- Explore iPhone sensor data again
Big thanks to
- Brian for hosting
- Ivan for debugging our odrive
- Miles for the vibes
- The other teams for the competition
- The sponsors for the prizes
Go follow updates for bracketbot! it's a cool project