A unified precision-painting platform that coordinates two collaborative painting arms, one industrial pick-and-place robot, and a conveyor line under a single automated cycle β combining PLC-grade industrial reliability with a MATLAB-based supervisory layer.
This repository contains the engineering work, control software, simulation models, and design documentation for a distributed multirobot control system with real-time monitoring for an automated industrial painting line, developed as a graduation (diploma) project at the Kazakh-British Technical University (KBTU).
The system automates the full technological cycle of part finishing β workpiece transport β simultaneous spray painting β drying β pick-and-place handling β and synchronizes three heterogeneous robots and a conveyor within one production cycle. The process is modeled on a real automotive painting line at Hyundai Trans Kazakhstan and realized at laboratory scale, while the software is built to industrial standards for future scale-up.
The core engineering idea is a hybrid PLC + MATLAB architecture: the Siemens S7-1500 PLC handles deterministic sequencing, safety interlocks, and field-device I/O, while a MATLAB supervisory layer handles high-level trajectory generation, multi-robot coordination, and real-time telemetry.
π This work is based on the graduation thesis "Development of a multirobot control system for painting parts with real-time monitoring" (KBTU, 2026). Read the full thesis (PDF) and the presentation slides (PDF).
- π€ Three coordinated robots β two Waveshare RoArm-M2-S spray arms + one KUKA KR10 R1100-2 industrial pick-and-place robot.
- π Industrial PLC backbone β Siemens SIMATIC S7-1500 (S7-1513F-1 PN) programmed in TIA Portal V19, with a WinCC HMI for real-time visualization and operator control.
- π Multi-protocol communication β PROFINET at field level, OPC UA (50 ms) for PLCβMATLAB supervision, TCP/IP (KukaVarProxy) for the KUKA, and HTTP/JSON over Wi-Fi for the painting arms.
- βοΈ Closed-loop conveyor β a BLDC-driven conveyor belt with PLC PID speed control holds a constant takt for synchronized painting.
- π οΈ Built & validated β realized as a 1:1 laboratory cell and validated end-to-end (KUKA + 2Γ RoArm + conveyor + S7-1500 + SCADA).
- π° Proven business case β β 45 % lower labor cost, β 6.08 M KZT annual economic effect, and a 2.2-year payback.
The platform follows a three-tier, fully network-based architecture that decouples the supervisory host from device-level implementations, so hardware can be reconfigured without rewriting control logic.
| Tier | Responsibility | Components |
|---|---|---|
| Level 2 β Supervisory | High-level control, coordination, monitoring, operator UI | MATLAB/Simulink Β· WinCC SCADA Β· TP700 Comfort HMI |
| Level 1 β Basic control | Deterministic sequencing, safety, device control | SIMATIC S7-1500 PLC Β· KUKA KR C4 Β· ESP32 (RoArm) |
| Level 0 β Physical process | Sensing & actuation | 4Γ inductive sensors Β· 57BLF01 conveyor drive Β· fan Β· KUKA Β· 2Γ RoArm |
MATLAB exchanges a safety handshake with the PLC over OPC UA (zone-clear flag, E-stop circuits, supply-pressure check) before releasing any robot motion.
A workpiece moves through three stations β the conveyor carries it to the painting station (two arms spray simultaneously), then to the drying station (fan arch), then to the pick-and-place station where the KUKA unloads it to the output platform.
Workpiece positioning at every stage is governed by inductive proximity sensors, and every stage transition is gated by a PLC safety interlock before the MATLAB layer releases the next robot motion.
| Subsystem | Component | Model / Part No. | Key spec |
|---|---|---|---|
| Pick-and-place robot | KUKA Agilus | KR10 R1100-2 / SEL | 6-DOF, 10 kg payload, Β±0.02 mm, 1101 mm reach |
| Painting manipulators (Γ2) | Waveshare | RoArm-M2-S | 4-DOF, ESP32, 0.5 kg payload, ~500 mm reach |
| Controller | SIMATIC S7-1500 | CPU 1513F-1 PN (6ES7 513-1FL02-0AB0) | fail-safe, PROFINET IRT, OPC UA server |
| I/O modules | SIMATIC | DI 6ES7521-1BL00 Β· DQ 6ES7522-1BL01 Β· AI 6ES7531-7KF00 | 32 DI / 32 DQ / 8 AI |
| Operator panel | SIMATIC HMI | TP700 Comfort (6AV2124-0GC01-0AX0) | 7β³ touch, WinCC |
| Conveyor drive | BLDC motor + driver | 57BLF01 + BLDC-8015A | 24 V, 3000 RPM, 63 W, 0.2 Nm |
| Position sensing | Inductive proximity (Γ4) | Siemens 3RG40 22-3JB00 | 4 mm, IP67, PROFINET |
| End-effector | Electromagnetic gripper | 280 kg holding | switched via $OUT[25] |
π Full bill of materials with prices is in the economic analysis.
| Layer | Tooling |
|---|---|
| Supervisory control | MATLAB R2025b (Instrument Control Toolbox, Robotics System Toolbox) |
| Process dispatch & kinematics | Simulink (OPC UA sensor states β launch painting / pick-and-place) |
| PLC / SCADA / HMI | Siemens TIA Portal V19 + WinCC Runtime Advanced |
| KUKA middleware | KukaVarProxy (open-source) over TCP/IP, port 7000 |
| RoArm firmware | ESP32 HTTP/JSON server (Waveshare stock firmware) |
| Mechanical design | AutoCAD (2D), STEP / Fusion 360 (3D) |
multirobot_painting_control_system/
βββ MATLAB/
β βββ KUKA_control/ # KUKA KR10 pick-and-place: GUI, trajectory gen, kinematics/dynamics library
β βββ Roarm_control/ # RoArm-M2-S painting: OOP control classes, dual-arm painting app
β βββ README.md
βββ PLC/
β βββ PLC_SCADA_HMI/ # Siemens TIA Portal V19 project (S7-1500 + WinCC HMI)
β βββ PLC_SCADA_HMI.zap19 # portable project archive (open via Project β Retrieve)
β βββ README.md
βββ Simulink/
β βββ MultiRobotPaintingModel_fixed.slx # supervisory model: OPC UA sensor states β launch painting / pick-and-place
β βββ README.md
βββ CAD/
β βββ 3D_model/ # STEP models (industrial + laboratory cells)
β βββ autocad_drawings/ # 2D engineering drawings (PDF)
β βββ README.md
βββ docs/
β βββ images/ # renders, screenshots, diagrams
βββ LICENSE # MIT
βββ CITATION.cff # how to cite this work
βββ README.md # you are here
Each subsystem folder has its own README with detailed setup and usage instructions.
| Subsystem | What's inside | Docs |
|---|---|---|
| π¦Ύ KUKA control | Pick-and-place GUI, quintic-smoothstep trajectory generation, 6-DOF FK/IK/ID library, Simulink simulation | MATLAB/KUKA_control |
| ποΈ RoArm control | OOP motion-control classes (serial + Wi-Fi), dual-arm painting application, telemetry GUI | MATLAB/Roarm_control |
| π PLC / SCADA / HMI | S7-1500 sequencing logic, conveyor PID, WinCC operator panel | PLC |
| π Simulink | Supervisory dispatch model β OPC UA sensor states launch the painting / pick-and-place processes; robot kinematics | Simulink |
| π CAD | 3D STEP assemblies and 2D AutoCAD drawings | CAD |
| Metric | Value |
|---|---|
| Total capital expenditure | β 46.5 M KZT (β $50,874 BOM) |
| Annual labor-cost reduction | β 44.8 % (10 β 4 operators) |
| Total annual savings | β 20.96 M KZT |
| Annual economic effect | β 6.08 M KZT |
| Payback period | 2.2 years |
Each subsystem is independent β start with the one you need. Full prerequisites and step-by-step instructions live in each subsystem README.
- KUKA pick-and-place β run the MATLAB GUI
kuka_pick_and_place_gui_magnetic, design Home/Pick/Place poses, preview the trajectory, then execute on the robot via KukaVarProxy. β guide - RoArm painting β launch
roarms_painting_processto control both arms over Wi-Fi, or use theRoarmM2_MotionControl_*classes programmatically. β guide - PLC / HMI β open
PLC/PLC_SCADA_HMI.zap19in TIA Portal V19 (Project β Retrieve). β guide - Simulation β open
Simulink/MultiRobotPaintingModel_fixed.slxto explore the conveyor control model. β guide
| KUKA pick-and-place GUI | RoArm dual-arm painting GUI |
|---|---|
![]() |
![]() |
| Pose editor, 3D preview, live joint telemetry, abort control | Dual-arm workspace preview, path planning, telemetry |
| WinCC HMI control panel | Simulink supervisory model |
|---|---|
![]() |
![]() |
| Conveyor, fans, robots, PID & error status | OPC UA inputs β supervisor β robot dispatch |
| Laboratory cell (render) | Industrial cell (render) |
|---|---|
![]() |
![]() |
Graduation project β Kazakh-British Technical University (KBTU), School of Information Technology and Engineering, educational program 6B07103 "Automation and Control", 2026.
- Almat Abdimalik
- Rassul Zeinulla
- Collins Masimba
- Ayan Rakhmetkali
Supervisor: Associate Professor, PhD T. I. Samigulin
If you reference this work, please cite it using the metadata in CITATION.cff, or:
A. Abdimalik, R. Zeinulla, C. Masimba, and A. Rakhmetkali, "Development of a multirobot control system for painting parts with real-time monitoring," Graduation Project, Kazakh-British Technical University, Almaty, 2026.
This project is released under the MIT License β see LICENSE for details.








