Skip to content

Latest commit

ย 

History

History
80 lines (63 loc) ยท 3.29 KB

File metadata and controls

80 lines (63 loc) ยท 3.29 KB

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.