Introduction: Warehouse Management Using Drones
When it comes to drones, everyone is enthusiastic about it. Most of them like drones as a toy. Others want to see this as a new tool for automation. The use cases range from a simple toy to military applications. But truth to be told it is always fun to watch it flying...
This is a proof of concept showing how drones can be used in the inventory and stock checking process. Now in large warehouses, this is done manually. It is a tired some process and it can be automated using drones. Drones are now becoming more and more stable and can be used to automate several indoor applications. Think of a 100 drones(swarms of drones) checking every inventory and updating the database simultaneously. How cool is that?
Instead of pallet/inventory, QR codes are placed on the wall. Drone will go to each inventory and read the QR code associated with it. The inventory is simultaneously updated in the database.
All of these are implemented in ROS. ROS or Robotic Operating System is an opensource framework for Robotic systems. It is nowadays becoming a de-facto tool for robotics project.
I have also created a joystick controller for ardrone. If you are having a bebop and need to control your drone using a joystick like Logitech F710 you can use the same project. :-)
Step 1: Setup ROS Environment in Your System
Step 2: Download Source Code
Follow this step to create a workspace and clone my github repository for code.
- mkdir -p catkin_ws/src
- cd catkin_ws/src
- git clone https://github.com/krishnan793/warehouseManagemen...
- cd ../
- catkin init
- sudo apt-get install build-essential python-rosdep python-catkin-tools
- rosdep install --from-paths src -i
- catkin build
Step 3: Print QR Code
Print these QR Codes and fix it in a wall or some boxes.
Step 4: Running the Code
Switch on your parrot bebop. Connect to the drone via WiFi.
Type these in a terminal to run the code
roslaunch bebop_driver bebop_node.launch
rosrun path_travel path_travel.py (This will start the drone and it will try to travel the path that is defined in the source file)
- rosrun ey_wms front_end.py (This will show the warehouse management database)
- rosrun rqt_image_view rqt_image_view (select /bebop/image_raw for getting live view from camera)
Drone will go to each position and analyse the QR code. There is a separate node running for analysing the QR Code. Each QR code resembles an actual box in the warehouse. You can see the identified box in the bottom left comer. Live feed from the front camera is shown in the bottom right corner. Depending on the box identified, details about the contents is updated in the database.
For customising the route edit path_travel.py . It is straight forward. Use http://www.qr-code-generator.com/ to customise your QR codes. I use Box-1 to Box-6 as the text for generating the six QR codes.