Warehouse Barcode Reader Drone
Tamimi July 16, 2021 [Professional] #drone #robots #Barcode Drone #platform #indropilot #Warehouse #UAV #5G #Cellular #Autonomyvid1: The first few tests at the client's warehouse, doing the tests on the production barcode and goods.
Introduction
This project was a proof of concept (PoC) or a minimum viable product (MVP) for a larger and bigger scale potential project where drones are used for warehouse automatic inventory management as a replacement of the manual methods in place.
Project | Barcode Scanner Drone |
---|---|
Company | INDROROBOTICS |
Clients | Leion's Furniture1 |
Budget | -- |
Duration | -- |
Status | Successfully Delivered The PoC |
Img1: The demonstration in the client warehouse
Requirements
The client had several requirements for this PoC:
- Prove that the concept is doable in the first place before testing in the warehouse. This is what I did in the first iteration below.
- Integrate the drone scanner with the client's barcode software (SCANDIT2), scan only a specific type of barcode, reject others, and reject duplicates.
- The drone should be able to scan in a normal warehouse environment (no GPS, no enough lights, etc.)
- Send the barcode data over 5G (sponsored by Rogers)
- Barcodes are saved automatically into the database and scan vertically aligned barcodes (these two requirements were given on the demo day!)
- Scalable to the next phase with an autonomous drone.
Scope and Iterations
First Iteration
The first iteration was all about testing the feasibility of the concept, and it proved that scanning a barcode from a flying drone is reliable, cost-effective, and most importantly, faster than the manual way of scanning (i.e., using the forklift for the upper bins).
The client got the idea from SCANDIT's website where they demonstrated a flying drone scanning a sample good. However, after the client contacted SCANDIT, they said it was only a demonstration video, which is a nice way of saying a fake video. As a result, the client asked us for a proof or a video of it being scanned before proceeding, and the client provided a sample barcode to test it.
As seen in the video below, the client had several initial requirements that were changed later, such as it was requested that the operator is able to manipulate the scanned data (barcode location and quantity) before storing it in the database, and also requested to show an error message if the barcode is rejected.
vid2: The video that was sent to the client before testing the concept at the client's warehouse. Side note: the narrator in this video was an AI-generated voice/video as I was fascinated by the technology and wanted to test it out. That was in 2021 and before the boom of generative AI. Everything else is real and took me some time to make, including the 3D animation and video editing.
The system was built and added as a module to the Indropilot platform, part of the "AI/ML Application" module. That module also communicated to the clients barcode scanning software, the database, and other modules.
Img2: The barcode scanner in the platform
The drone was a consumer-grade one, it was Autel Evo Pro from Autel Robotics, and because it was a PoC, the client did not require any specific drone. Additionally, it worked well in the end, since the built barcode scanner platform works with all consumer-grade drones now. Nothing really special is needed.
Latency, as seen in the first video, is negligible and less than a second, which is great considering the application did not require ultra-low latency, and also that latency included the processing of the barcode data.
Second Iteration
The second iteration focused mostly on the software side, either internally how it integrates within the platform, so that it can be quickly deployed in the demonstration, or changing based on client requests. These changes can be summarized as follows:
-
No warehouse wireless was used: Initially, the client wanted to use the wifi in these warehouses to send the barcode data. However, after some communication with the IT team, it turned out they use enterprise wifi and behind several firewalls, and they were hesitant to change any of these configurations for a two-day demo. The changes were that I used a cellular modem -with all the software changes accompanied with that- to send these data over the internet, and that also worked well since Rogers (the operator) was also involved in this project.
-
Building a quick UI for the database barcode entries: Initially, it was assumed -assumption turns to risk in projects if they turn out to be false!- that the SCANDIT software would keep track of these entries, which it didn't, and the client database could be integrated. However, its access and UI weren't accessible to me yet. You can see the UI in the video below:
vid3: The barcode backend UI.
-
The client changed some requests, such as they initially needed the ability to start/pause the scan, that was changed to be automatic. They also removed the need to show an error message for rejected ones, and instead, just not to scan them. Additionally, since the entries were added automatically, there was no need to specify the quantities/bin locations of these barcodes. However, I kept the option to edit them anyway.
-
The client in the demo day had a few extra requests to add, talking about surprises! They requested the ability to scan vertically aligned barcodes (seen in Img3:), plus a few other changes. The good news is the demo was two days, so the first day immediately after I got back to the hotel, I made all these changes ready for the big day tomorrow, and it worked well.
vid4: This was the state of the second iteration, as you can see, the scanning speed was vastly improved (exactly at 1:15 timestamp, how that was barcode scanned!), and the also rejecting the duplicates (seen at 0:15) so the drone won't scan multiple identical barcode within X period of time while flying
Third Iteration
In this iteration, the plan is to add the autonomous mode plus a few extra features like wireless charging and auto-docking. This is yet to be fully implemented, so hopefully the team who took it will make it work soon!
Demonstration and Conclusion
Img3: The demonstration setup. You can also see the small white board, some barcode were vertical per the client request.
The demonstration went very well! The whole demonstration was about the ability to demonstrate that a drone would be faster and far more efficient compared to the manual way. First, the warehouse worker went and scanned the bin barcode data, and took around 17 minutes. Then we used the drone, and took around 4 minutes! In the whole bin barcode, the drone only failed to scan one barcode, and that was great given the lighting in the warehouse, and the mediocre consumer drone/camera.
This project demonstrated the feasibility and benefits of using drones for warehouse automatic inventory management. The drone scanner platform integrated seamlessly with the client's barcode software and database, and scanned the barcodes faster and more efficiently than the manual method. The drone scanner also adapted to various challenges such as different barcode types, orientations, and lighting conditions. The project achieved the client's requirements and expectations, and paved the way for the next phase of developing an autonomous drone scanner with wireless charging and auto-docking capabilities.
Note: The comment section is powered by Cactus/Matrix. If you use the official Matrix server, you are good to go. However, if you use your personal Matrix server, make sure to log in with the first button and use your own client. This is because my CSP only allows Cactus/Matrix domains to connect from this site, and most likely, your profile picture will be broken!
Leon's furniture Site
SCANDIT Site