Inspiration
What it does
Detects a puck and tracks it with a puck. Aims for perfect and long play.
How we built it
Custom-designed and 3D printed parts to control a puck on an air hockey table. QNX 8 running on a Raspberry Pi 5, running OpenCV to detect puck and paddle position. Feeds into a feedback loop. Multi-process architecture that uses QNX named channels to communicate between a motor control process and a computer vision process.
Challenges we ran into
Color detection was very difficult. Green is the most sensitive color and was perfect for our case. Interfacing with the camera fast enough. Bring up of wifi, then ssh, then camera, then cross-compilation toolchain, then implementing reliable image masks and detection.
Accomplishments that we're proud of
- Cross-compiling OpenCV.
- Utilizing QNX's sensor API and camera API. Using named channels
- Created a driver motor using BJTs for small DC motors.
- Designed and 3D printed 10 mechanical parts for the mechanical assembly.
What we learned
Green is commonly used in film for it's easy detection Learned about what makes QNX special for embedded work 3D printing is awesome for prototyping
What's next for Air hockey with yourself
???
Built With
- 3dprinting
- c++
- ipc
- qnx
Log in or sign up for Devpost to join the conversation.