This project contains the implementation of an automated palletizing system for the ABB IRB 120-3/0.58 industrial robot. The system was developed as part of the "Robotics and Automation" course at the School of Electrical Engineering, University of Belgrade (2025/26).
The goal of this project is to simulate a pick-and-place palletizing process where an ABB robot organizes colored cubes (Red, Yellow, Green) onto a 3x3 pallet based on a user-defined layout. The system integrates HMI interaction, sensor simulation, and coordinate system management to handle pallet positioning offsets.
- HMI Integration: A custom ScreenMaker application allows operators to define the pallet layout, initiate the process, and monitor system status directly from the IRC5 FlexPendant.
- Dynamic Calibration: The system uses a simulated camera to detect pallet position offsets (X, Y, and rotation around Z). It dynamically updates the active
WorkObject(wobjPaleta), ensuring precise palletizing even if the physical pallet position shifts. - Modular RAPID Architecture: The code is organized into dedicated modules (
PalletLogic,CameraSimulation,PickPaths,PlacePaths, etc.), ensuring maintainability and clean separation of concerns. - Process Logic & Validation: Includes robust input validation (e.g., preventing duplicate placements, ensuring all colors are represented in the layout) and status reporting.
- Robot: ABB IRB 120-3/0.58 (6-axis manipulator).
- Tooling: Vacuum gripper (simulated via
AttachCubeI/O signal). - Environment: RobotStudio 2026, RobotWare 6.12.4008.
- Coordinate Systems:
wobjPostolje: Fixed reference for magazine positions.wobjPaletaNominal: Initial reference for the pallet.wobjPaleta: Active WorkObject updated by camera data.
MainModule.mod— Main execution cyclePalletLogic.mod— HMI handler, validation, and process sequencingCameraSimulation.mod— Simulation of camera offset detectionPickPaths.mod&PlacePaths.mod— Defined robot trajectoriesCalibData.mod&PalletData.mod— Calibration and pallet data definitions*.cfgfiles — RobotStudio system configuration (EIO, MMC, MOC, PROC, SIO, SYS)
- Open the project solution in ABB RobotStudio 2026.
- Ensure the Virtual Controller (IRC5) is correctly configured with the provided system parameters.
- Load the HMI application onto the Virtual FlexPendant.
- Start the controller and use the HMI interface to define your pallet layout.
- Use the
StartProcesdigital input signal to trigger the sequence once the layout is validated.
For a detailed technical description of the algorithms, coordinate transformations, and logic flow, please refer to the Report.pdf included in this repository.
Developed by Đorđe Ristić and Viktor Trmčić (2026).