
Flipkart GRID 5.0 Robotics Challenge – Autonomous Pick-and-Place System
Developed for the Flipkart GRiD 5.0 Robotics Challenge, this project tackles a critical bottleneck in modern logistics: the slow, costly, and error-prone nature of manual package sorting. To solve this, I engineered a fully autonomous robotic system designed to bring speed, accuracy, and efficiency to the warehouse floor. The solution is a "smart" 4-DOF robotic arm that intelligently identifies, classifies, and sorts packages without human intervention.
The system's perception is driven by a sophisticated multi-camera setup: an Intel RealSense camera identifies the precise 3D location of packages, while a dedicated ESP32-CAM reads QR codes to determine their destination. The core intelligence comes from a custom-trained YOLO AI model, which enables rapid and reliable detection. To translate this visual data into action, I developed an inverse kinematics algorithm that calculates the exact joint movements for the robotic arm, allowing it to handle packages with fluid precision. This entire process is orchestrated through a central Python application that communicates with an Arduino Mega for low-level hardware control, all running seamlessly in real-time thanks to a multi-threaded architecture. The result is a complete, end-to-end automated sorting system that demonstrates a powerful integration of AI, computer vision, and robotics.
Core Features
AI-Powered Vision: Utilizes custom YOLO models for rapid and accurate package and QR code detection.
3D Robotic Control: Combines 3D depth perception with inverse kinematics for precise package handling.
End-to-End Automation: A complete, hands-off system from package identification to final sorting.
Real-Time Performance: Built with multi-threading to operate seamlessly in a live logistics workflow.
Code Breakdown
main.py
(The Conductor): The central script that initializes all components and usesthreading
to manage concurrent operations from the cameras and the robotic arm.object_detector.py
(The Eyes): A wrapper for the YOLO model. It loads the pre-trained.pt
files and performs detection on image frames, returning the coordinates of detected objects.inverse_kinematics.py
(The Brains of the Arm): Contains the core logic for robotic control. It uses trigonometric calculations to convert the target's (x, y, z) coordinates into the specific angles required for the arm's joints.arduino_communication.py
(The Nervous System): Establishes a serial connection to the Arduino and sends the calculated joint angles in a formatted string.ARDUINO/ARDUINO.ino
(The Muscle): The C++ code on the Arduino that listens for serial data, parses the angles, and commands the servo motors to execute the movement.