all projects
Flipkart GRID 5.0 Robotics Challenge – Autonomous Pick-and-Place System

Flipkart GRID 5.0 Robotics Challenge – Autonomous Pick-and-Place System

pythonc++pytorchyoloopencvnumpypyserial

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

  1. AI-Powered Vision: Utilizes custom YOLO models for rapid and accurate package and QR code detection.

  2. 3D Robotic Control: Combines 3D depth perception with inverse kinematics for precise package handling.

  3. End-to-End Automation: A complete, hands-off system from package identification to final sorting.

  4. Real-Time Performance: Built with multi-threading to operate seamlessly in a live logistics workflow.

Code Breakdown

  1. main.py (The Conductor): The central script that initializes all components and uses threading to manage concurrent operations from the cameras and the robotic arm.

  2. 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.

  3. 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.

  4. arduino_communication.py (The Nervous System): Establishes a serial connection to the Arduino and sends the calculated joint angles in a formatted string.

  5. 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.

Estimated reading time: 3 minutes