A two-robot collaborative simulation where KUKA robotic arms detect colored cubes, maintain the color order, and place cubes in the correct arenas using Webots and Python.
This project simulates a two-robot collaborative color sorting system with a structured environment:
- 🟢 Zone 1: Workspace for Robot A – scans and collects cubes.
- 🔵 Zone 2: Workspace for Robot B – waits for cubes delivered by Robot A.
- 🧱 Wall: Divides the zones.
- 🎨 Color Arenas: Four target areas for cube placement:
- 🟦 Blue Arena
- 🟥 Red Arena
- 🟨 Yellow Arena
- 🟩 Green Arena
-
🤖 Robot A – The Color Scanner & Collector:
- Scans cubes in its zone to determine the color order.
- Stores the order in a color array.
- Picks cubes sequentially according to the array.
- Places cubes on the wall for Robot B to access.
-
🤖 Robot B – The Secondary Collector:
- Scans the color array to know where each cube should go.
- Waits in front of the wall until cubes are delivered.
- Collects cubes from the wall.
- Places cubes in the correct color-coded arena, maintaining order.
- 🤝 Collaborative Robotics: Two robots working together to sort cubes.
- 🎨 Color Recognition & Order Management: Scans cubes and maintains order arrays.
- ⚙️ Autonomous Motion: Robots pick, transfer, and place cubes automatically.
- 🏗️ Structured Environment: Two zones separated by a wall for organized operation.
Robot A scans cubes, stores the color order, and delivers them to the wall.
Robot B scans the color array, waits at the wall, collects cubes, and places them in the correct arenas:
🟦 Blue
🟥 Red
🟨 Yellow
🟩 Green
The process repeats until all cubes are sorted correctly.
This project is a work in progress and still requires further development .
Note: The current code needs more development to optimize the simulation and incorporate best programming practices for readability, maintainability, and performance.
It serves as a foundation for collaborative robotics simulations and will be enhanced in future versions.
KUKA-Color-Sorter/
│
├── README.md # Project documentation
├── youbot.wbt # Webots simulation world
├── controllers/
│ └── my_controller_robot1/
│ ├── my_controller_robot1.py # Main Python controller
│ └── my_controller_robot2/
│ ├── my_controller_robot2.py # Main Python controller
- Install Webots.
- Open world file
youbot.wbtin Webots. - Click Run Simulation
You can watch a demo video of the current simulation in action:
Implement inverse kinematics for smoother motion.
Support multiple cubes simultaneously.
Enhance color detection with advanced image processing.
MIT License – freely use, modify, and distribute.