Warehouse automation is being used by a growing number of industrial and e-commerce companies, With a never-ending demand, for consumer goods, there is a need for automation in this industry. Many sectors are adopting sorting automation systems due to the increasing sales volume.The combination of the sorting robot system with fast code-reading and the intelligent sorting system of the industrial camera can realize fast sorting and information recording interaction after the code-reading. The sorting robot system can greatly reduce the manual demands in the sorting process, improve the efficiency and automation degree, and greatly improve the accuracy rate In recent times, there is a rapid increase in the eCommerce industry in China and India with the swift growth of the e-commerce industry, and the annual business volume has exceeded 30 billion. Also, currently, the Indian e-commerce industry is valued at 200 billion USD and is expected to grow to 1.2 trillion USD by 2021. This increase requires a higher sorting efficiency of parcels. And thus, emerged the persisting need for parcel sorting robots.
MotivationCurrently, there is a large movement in the corporate world to streamline processes and improve current methods of sorting parcels and packages. As with any logistics business, this effort is difficult and requires a lot of manual labor. A well-designed sorting system will largely improve the current methods of sorting parcels and packages. Several problems with the current system have been identified. the industry would benefit from a centralized computer vision-based logistics system in which all sorting is managed by a central system and executed by sorting bots.Additionally, it should decrease the possibility of human error and improve efficiency
Project ObjectivesHardware objectives
• To develop sorting bots capable of receiving commands from the central tracking system, decoding it, and executing it.
• To build communication to send commands from the central tracking system
• To develop a flipping mechanism for dropping packages to its drop chute
Software objectives
• Develop a simple easily scalable software
• Develop software capable of locating and tracking sorting bots
• Develop a path generation algorithm
• Develop software capable of generating commands corresponding to the path and location of the bot
• Develop a simple visualization for verifying path generation
• Develop a PID system for error correction
Project Overviewproject is a combination of hardware and software. the hardware involves making a sorting bot which is achieved by using multiple motors, 3d printed parts, and batteries. Arduino nano is the microcontroller used for the job. communication for the project is radio-based and involves the use of nrf24. The software involves using computer vision for tracking and locating bots. The information hence generated is used to generate commands for the bots. a specialized algorithm is designed for path generation and for enabling multiple bots to function at the same time.
CAD Modeling and Mechanical DesignPropulsion System
The propulsion system consists of two n20 motors for creating propulsion and 2 caster wheels for balance for turning bot relies on the difference in rotational motion of the two motors
The flipping mechanism involves a flipping plate, hinge support, L-Arm, and Servo Motor. servo motor generates the necessary torque for flipping the plate it connects to L-arm which in turn connects to the flipping plate.this mechanism is used to drop the package to its destination
Chassis
The chassis of the bot is made up of a single body for structural strength. It houses all electronics, battery, n20 motors, and servo motor
Enclosure Plate
Covers the chassis and holds ArUco markers in place
PCB Design
First Iteration
Components
• Arduino nano - microcontoller
• Power circuit
• NRF24 for telemetry
• L293D - motor driver
Functionality
• Driving sorting bot’s N20 Motor
• Driving sorting bot’s Servo Motor
• Receiving Data from the Central tracking system
Second Iteration
What's Different
• Added boost circuit
• Changed dimensions
Components
• Arduino nano - microcontroller
• Power circuit
• NRF24 for telemetry
• L293D - motor driver
Functionality
• Driving sorting bot’s N20 Motor
• Driving sorting bot’s Servo Motor
• Receiving Data from theCentral Tracking system
Motors
N20 motors
The N20 Micro Gear 6V 600RPM DC Motor is a lightweight, medium torque, and high RPM motor. It is equipped with gearbox assembly so as to increase the torque of the motor is used to propel the sorting bot
Servo Motor
Tiny and lightweight with high output power. The servo can rotate approximately 180 degrees (90 in each direction). it is used to drop the packages
MicroController
Sorting Bot is built with Arduino Nano Microcontroller because of its
• Robust Design - Arduino Nano is capable of functioning reliably in industrial environments, with an operating temperature ranging from –40°C to +125°C.
• Ultra-Low Power Consumption - Arduino Nano includes state-of-the-art features, such as fine-grained clock gating, various power modes, and dynamic power scaling..
• High Level of Integration - Arduino Nano is highly-integrated with in-built antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules 21
• Large community support - Arduino Nano has a large and diverse community of passionate embedded product designers and engineers making project development simple whereas central tracking system employees, Arduino Uno, for transmission
Communication
NRF24
wireless control capable of up to 2mbit communication with a range from 40 to 100m. Has onboard antenna. The nRF24L01 is a single-chip 2.4GHz transceiver with an embedded baseband protocol engine its means of communication between the sorting bot and central tracking system 6.4
Power
Battery
Sorting bots are powered by a 10, 000 mAh 7.4 Li-on battery for lasting performance
Kill switch
used for killing/stopping all motion and transmission if the things go wrong
Software ArchitectureMicro-controller
Reception
Arduino nano receives commands via NRF-24. it decodes and adjusts motor speed accordingly. There possible 63 commands first 56 are PID commands 57th is left turn, 58th is right turn 59th is stop 60th is Right drop 61st is a left drop 62nd is a straight drop and 63 is party mode
Transmission Ardunio Uno receives commands via serial communication from the central tracking system. It encodes the data and transmits it via NRF-24
Central Tracking System
the Central Tracking System was deployed on kria kv 260 after the installation of Ubuntu Linux
Make Marker
Makes ArUco markers according to the given dictionary. which are placed on the sorting bot.ArUco markers are used for tracking and locating sorting bots
Marker Detection
Marker detection program corrects distorted perspective of a rectangular plane with help ArUco markers placed at arena’s corners. It can detect and output any valid ArUco marker in the selected dictionary
Path Generator
Generates path for the sorting bots. two techniques were used for simple square grids path generation is done with an algorithm involving the intersection of horizontal and vertical lines. the second approach involves using the A* star algorithm for general grids
Path Finder
First calls path generator then takes the output of path generates and change it according to actual grid dimensions it also allocates special commands. it also has a visualization tool made using pygames
control system It is the main brain of all operations it generates commands using PID, PathFinder, and Fetch job.
Fetch job
Stores information about package origin and its destination
Serial communication
It sends commands from the central tracking system to Arduino Uno via serial port
Demonstration link - https://drive.google.com/drive/folders/1PJur0TavRlmsxG1PzIhpKCXAzgCEkWTJ
Recreating theProject:
Assuming custom hardware is built and assembled(CAD and Schematic diagram provided), In order to install and run the program on Xilinx Kria KV260 install Ubuntu onto it for ease of running python programs.
Attach the usb camera to kria kv260 place it at a significant height facing the arena
Place ArUco marker at the corners of the arena, and run the python script
Allow for the program to callibrate and unwarp the arena using corner markers, after which you can remove the corner markers.
After the unwarped view is displayed on the screen turn the robots on.
Kria will start trasmitting commands through nrf24 module via arduino uno to each robot according to the destination and package lookup table.
The program will end when it completed all the packages in the lookup table.
Comments