This project involves the development of software and hardware integration for a cargo-offloading robot. The robot is designed to autonomously offload cargo based on a prioritization algorithm, with performance optimization through iterative testing and weight adjustments on a cargo-priority function.
- Raspberry Pi
- Stepper motors for X, Y, and Z axes
- Motor drivers for controlling stepper motors
- Magnetic gripper for cargo handling
The Bot class defines the robot's behavior and movement capabilities. It utilizes the RPi.GPIO library for Raspberry Pi GPIO control and includes methods for moving to specific coordinates, moving by a given vector, and managing the magnet.
The main.py script orchestrates the cargo offloading process. It loads cargo manifest and coordinates from CSV files, calculates cargo worth based on a prioritization algorithm, and determines an optimal offloading sequence. The script utilizes the Bot class to move the robot to designated locations and control the magnetic gripper.
- Bot.py: Contains the
Botclass responsible for robot movement and control. - main.py: Orchestrates the cargo offloading process using the
Botclass and implements the cargo prioritization algorithm. - manifest.csv: CSV file containing cargo manifest information (level, row, column, group).
- coordinates.csv: CSV file containing spatial coordinates and dimensions for the cargo grid.
Adjustments to the robot's movement parameters, such as speed and stepping time, can be made in the Bot class within Bot.py. Cargo prioritization weights and other parameters can be fine-tuned in the calc_worth function within main.py.