
About the Competition
The e-Yantra Robotics Competition, organized by IIT Bombay, is a national robotics competition that challenges students to solve real world engineering problems using robotics, embedded systems, computer vision, and ROS2. Teams progress through multiple stages, designing autonomous robotic solutions based on an industry inspired theme.
Theme
Our theme Holo Battalion focused on warehouse automation, where multiple autonomous robots were required to transport packages between designated pickup and delivery locations(or zones) while operating within a shared workspace. The objective was to mimic the workflow of modern automated warehouses, emphasizing efficiency, coordination, and reliability.
Arena:

Overview
Our team developed a multi robot warehouse automation system consisting of three autonomous holonomic robots. Each robot was capable of localizing itself using computer vision, navigating to assigned destinations, and coordinating with the other robots to complete warehouse tasks efficiently.
The system was built using ROS2, with OpenCV and ArUco marker detection for localization, PD-based motion control with holonomic inverse kinematics for navigation, and MQTT for wireless communication between ROS2 and the ESP32-based robot controllers.
Here is the link of the submission video of our semi-finals task Youtube-Video

Key Features
- Multi-robot coordination using ROS2 and MQTT
- Vision based localization with OpenCV and ArUco markers
- Autonomous task execution using a Finite State Machine (FSM)
- PD based motion control with holonomic inverse kinematics
- MQTT communication between ROS2 and ESP32
- Modular software architecture for perception, control, and communication
Challenges
- Coordinating three autonomous robots within a shared environment
- Achieving reliable vision based localization
- Tuning controllers for smooth and accurate motion
- Designing a scalable communication and control architecture
What I Learned
This is my first ROS2 based project so it had taught me so many things that i cant possibly write but can say that building a robotics system is far more than just writing code. It involved constant experimentation, debugging, and refining both the software and hardware until everything worked reliably. Working through real engineering challenges gave me a much deeper understanding of robotics than I could have gained from coursework alone.
Some of the key things I learned were:
- Implemented the Hungarian Algorithm to automatically assign robots to crates, improving task allocation efficiency.
- Diagnosed and resolved ESP32 brownout issues by addressing power supply limitations and optimizing load management.
- Understood how lighting conditions affect OpenCV and ArUco marker detection and optimized the environment for reliable localization.
- Gained hands-on experience tuning PD controllers, balancing responsiveness with stability to minimize oscillations and overshoot.
- Learned to debug distributed robotic systems where issues could originate from computer vision, communication, control logic, or embedded hardware.
- Improved my understanding of ROS2 communication, including topics, publishers, subscribers, and modular node design.
Looking back, the biggest takeaway wasn’t any single algorithm or technology but it was learning how to approach engineering problems methodically. Most solutions came from testing, failing, analyzing the results, and improving the system through many small iterations until it performed reliably.