A Raspberry Pi-based system that detects AprilTags using the PiCamera and provides a web interface via Flask.
- Clean Separation: Backend and frontend components are clearly separated
- Flask Web Interface: Modern responsive web interface for viewing the detection stream
- Real-time Statistics: Live updates of detection counts, FPS, and detection times
- Simplified Detection: Focuses on the most common AprilTag family (tag36h11) for reliability
- Modular Design: Easily extensible with additional features
-
Clone this repository:
git clone https://github.com/ZachariahJ/AprilTag_Position_System cd AprilTag_Position_System -
Install required dependencies:
pip install -r requirements.txt
-
Install Raspberry Pi specific dependencies:
sudo apt-get update sudo apt-get install -y python3-picamera2
-
Run the application:
python app.py
-
Open a web browser and navigate to:
http://<raspberry_pi_ip>:5000
-
"Unrecognized tag family name":
- This error occurs when the AprilTag detector receives incorrect family format
- Solution: Make sure to pass families as a list, not a string
-
Camera not working:
- Check that the camera is properly connected
- Ensure the camera is enabled in Raspberry Pi configuration
-
Low FPS:
- Try reducing the resolution in
camera_manager.py - Set
quad_decimateto a higher value (e.g., 2.0) for faster processing
- Try reducing the resolution in
- To use different tag families: Edit the
tag_familyvariable inbackend/apriltag_detector.py - To change the camera resolution: Modify the resolution parameter in
app.py - To customize the UI: Edit the files in the
frontenddirectory
This project is released under the MIT License.