This project implements an autonomous distributed sorting system that orchestrates collaboration between a Braccio robot arm (for object detection & manipulation) and a DJI RoboMaster (for mobile transport). The system leverages computer vision and parallel processing to identify, classify, and sort objects efficiently.
Developed as a Master's Team Project for the Summer Semester 2025 at Technische Hochschule Ingolstadt.
- Dual-Robot Coordination: Synchronized operations between a stationary manipulator (Braccio) and a mobile unit (DJI RoboMaster).
- Computer Vision: Real-time object detection and color classification using custom models.
- Parallel Processing: Multithreaded architecture ensuring non-blocking operations for both robots.
- Modular Architecture: Decoupled modules for vision, movement, and control logic.
The system is built on a modular Python architecture located in the sorting_system package:
.
├── sorting_system/
│ ├── braccio/ # Logic for the Braccio robotic arm
│ │ ├── color_detection.py
│ │ └── pick_place.py
│ ├── dji/ # Logic for the DJI RoboMaster
│ │ ├── dji_movement.py
│ │ └── dji_camera.py
│ └── main.py # Central controller & entry point
├── models/ # YOLOv5 inference models
└── requirements.txt # Dependency definitions
- Hardware:
- Arduino Braccio Robot Arm
- DJI RoboMaster S1/EP
- Software:
- Python 3.8+
- RoboMaster SDK
-
Clone the Repository
git clone https://github.com/YOUR_USERNAME/sorting-system.git cd sorting-system -
Install Dependencies
pip install -r requirements.txt
-
Model Setup Ensure your YOLOv5 model (
yolov5n.pt) is placed in themodels/directory.
- Connect Hardware: Ensure both the Braccio (via USB/Serial) and DJI RoboMaster (via Wi-Fi/Direct) are connected.
- Run the System:
python sorting_system/main.py
- Operation: The system will initialize the camera feeds, start the detection threads, and await object placement for sorting.
- Advanced Object Detection: Training a custom YOLO dataset for specific industrial component recognition.
- Safety Mechanisms: Integrating an emergency stop button and collision detection algorithms.
- Dynamic Path Planning: Implementing obstacle avoidance for the DJI RoboMaster in dynamic environments.
- Team Project - Initial Work - Technische Hochschule Ingolstadt
This project is licensed under the MIT License - see the LICENSE file for details.