Skip to content

pari1999/Intelligent-Sorting-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 

Repository files navigation

Intelligent Sorting System

Autonomous Robotics Project | Technische Hochschule Ingolstadt

Python Status License

📌 Overview

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.

✨ Key Features

  • 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.

🏗️ System Architecture

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

🚀 Getting Started

Prerequisites

  • Hardware:
    • Arduino Braccio Robot Arm
    • DJI RoboMaster S1/EP
  • Software:

Installation

  1. Clone the Repository

    git clone https://github.com/YOUR_USERNAME/sorting-system.git
    cd sorting-system
  2. Install Dependencies

    pip install -r requirements.txt
  3. Model Setup Ensure your YOLOv5 model (yolov5n.pt) is placed in the models/ directory.

Usage

  1. Connect Hardware: Ensure both the Braccio (via USB/Serial) and DJI RoboMaster (via Wi-Fi/Direct) are connected.
  2. Run the System:
    python sorting_system/main.py
  3. Operation: The system will initialize the camera feeds, start the detection threads, and await object placement for sorting.

🔮 Roadmap / Future Work

  • 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.

👥 Authors

  • Team Project - Initial Work - Technische Hochschule Ingolstadt

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Team_Project:

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors