Skip to content

ASebastian27/cbl-sorting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Two-Mode Sorting Robot

This project is a robotic system designed to simulate luggage sorting at an airport check-in counter. The robot sorts small cubes, representing luggage, into different bins based on either their color or weight.

🌟 Project Overview

The robot provides a hands-on demonstration of automated sorting systems. It identifies the properties of an object (a 2x2x2 cube) and then routes it to the correct destination bin. This project integrates mechanical components, electronics, and software to create a fully functional sorting machine.

✨ Key Features

  • Two Sorting Modes: The robot can sort objects based on two different criteria:
    • Color-Based Sorting: Utilizes a camera to detect the color of the cube (red, green, or blue) and sorts it accordingly.
    • Weight-Based Sorting: Employs a load cell to differentiate between heavy (10-15 grams) and light (0-5 grams) cubes.
  • Failsafe and Fault Detection: The system includes multiple load cells to weigh the cube at the beginning and end of the process. This allows it to detect errors, such as a lost or swapped item, or if a bin is overloaded.
  • Web-Based Interface: A simple web interface allows the user to select the sorting mode and initiate the sorting process.
  • Modular Mechanical Design: The robot is constructed from distinct mechanical sub-components, including a loading belt, a measuring station, a puncher, a main conveyor, a sorting arm, and bins.

🛠️ Hardware and Software

Mechanical Components

  • Secondary (Loading) Belt: A short, slanted conveyor belt that transports the cube to the measuring station.
  • Measuring Station: Equipped with a camera and a sensitive load cell to analyze the cube's properties.
  • The Puncher: A 3D-printed mechanism with a 360-degree mini-servo that pushes the cube from the measuring station to the main conveyor.
  • Main Conveyor: Built with FischerTechnik parts, this conveyor moves the cube towards the sorting arm.
  • The Sorting Arm: A rotational mini-servo that directs the cube into the appropriate bin.
  • The Bins: Recycled plastic containers on custom wooden bases with integrated load cells for fault detection.

Electronics

  • Raspberry Pi: Serves as the "brain" of the robot, processing data from the camera and load cells and controlling the overall operation.
  • Arduino Uno: Acts as a motor driver in a master-slave relationship with the Raspberry Pi, connected via USB. It receives commands from the Raspberry Pi to control the motors and servos.
  • Load Cells: Used for precise weight measurements at the initial analysis station and under each bin for verification.
  • Camera: To detect the color of the cubes.

Software and Architecture

  • The system operates on a master-slave architecture, with the Raspberry Pi as the master and the Arduino Uno as the slave.
  • Communication between the Raspberry Pi and Arduino is handled via Serial over an USB cable.
  • The robot is controlled through a simple web interface that allows the user to select the sorting mode and start the process.

⚙️ Operating Conditions

  • Lighting: The robot functions best in normal lighting conditions. It has not been tested in complete darkness or blinding light. As a general rule, if a human can distinguish the color, the camera should be able to as well.
  • Stability: The load cells are highly sensitive to movement. For accurate measurements, the robot and its bins must be placed on a stable, level surface. Any disturbance may require a system reboot and re-calibration.

🚀 Usage Scenarios

The system is designed to handle one cube at a time, simulating the one-by-one luggage check-in process.

✅ Appropriate Usage

  1. Color-Based Sorting (ColorSort):

    • A cube is placed on the loading belt.
    • The user initiates the sort via the web interface.
    • The robot inspects the cube's color and weight.
    • The sorting arm directs the cube to the correct bin:
      • Left Bin: Red
      • Right Bin: Blue
      • End Bin: Green
    • The weight is re-checked at the bin to confirm a successful sort.
  2. Weight-Based Sorting (WeightSort):

    • The process is identical to ColorSort, but the sorting is based on weight.
    • Left Bin: Light Object
    • Right Bin: Heavy Object
    • Note: The third bin is not used in this mode due to the accuracy limitations of the scales.

❌ Potential Errors and What Should Not Happen

The robot is designed to detect several error states:

  • Wrongly Colored/Weighted Cube: The system can identify if an object with the wrong properties ends up in a bin (though this would likely require manual intervention).
  • Empty Load: The robot will not start the sorting process if no item is detected at the measuring station.
  • Object Swapped Mid-Sort: The failsafe mechanism can detect if an object's weight changes during the sorting process.
  • Object Removed Mid-Sort: An error will be triggered if the object is removed after analysis but before reaching the bin.
  • Overloaded Bins or Obstructed Camera: The robot will halt and report an error if the bins are too full to get an accurate reading or if the camera's view is blocked.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors