You are on page 1of 6

QR Code based Path Planning for Warehouse

Management Robot
Pamarthi Ravi Teja Nippun Kumaar A A
Department of Computer Science & Engineering, Department of Computer Science & Engineering,
Amrita School of Engineering, Bengaluru, Amrita School of Engineering, Bengaluru,
Amrita Vishwa Vidyapeetham, INDIA Amrita Vishwa Vidyapeetham, INDIA
Email: ravitejasrocks@gmail.com Email: nippun05@gmail.com

Abstract—Path planning is an essential part of a mobile the flow of how functioning happens in the proposed work.
robot controller. Autonomous path planning in a large space Section 3 implies the in depth knowledge of the development
like warehouse is a challenging task .This work focuses on of algorithm and the work flow of it. Finding the efficiency
developing an efficient path planning algorithm for warehouse
management robot using QR Code. Nowadays mobile robots of the algorithm is done in the Section 4, where the algorithm
play an important role in warehouse automation task such as is tested in all possible ways inputting the different targets
navigating to a particular location, picking up the desired object values to the robot.
and using it back to packing section. The proposed system uses
QR Code sticker in the floor placed at strategic locations as via For an autonomous mobile robot to move in and around
points to reach the desired destination and to pick the desired
object. The proposed path planning algorithm is implemented in the unknown area, the navigation system of the robot has
and test in 3D Robotics simulator WEBOTS. The simulated to be more efficient such a way that the robot reach should
results proves that the QR Code based path planning for the the destination with free of collisions and in less time as
large environments is efficient and less computationally complex. well. There were few path planning algorithms developed
with respective to the known environments. Dijkstra and A*
Index Terms—Mobile Robot, manipulator, QR code, naviga-
tion, identification, fetching, deliver [1] [2] are two of them to find the shortest path between the
two locations. In these algorithms there is need of giving
I. I NTRODUCTION the complete map of the interested work area which needs
Warehouse management is a growing field and its essential more memory and time for processing. A* is the improved
as the online shopping is increasing. Faster the product algorithm of Dijkstra where this technique is implemented in
delivery to the customer, better the customer satisfaction. The finding the multi-objective shortest paths but it’s suitable only
idea of using robotic system to automate the process and for the known environments and not for dynamic unknown
reduce the latency time for delivery was introduced in 1999. environments.
But in the past decade this field of robotics is getting good
traction. Deliberative planning [3] is the respective name for the
path planning to a known environment. To develop the
The processes in warehouse management are Identifying, algorithm for path planning to an unknown environment, the
Fetching, Tagging, Packaging and mailing. The initial time constraint and the memory constraint factor has to be
processes identifying and fetching is a tedious job for humans minimal. Depending on the application and the environment
as it involves more physical activities. A single order can the robot has to be developed either with the modifications
have two different products which are located far apart. The in software part (algorithm) or hardware part (service robot).
later processes tagging, packaging and mailing can be carried [4] [5] Solves the problem of finding the shortest path
out by humans without much physical stain. This paper between two points and the collision avoidance as well with
gives a view that how better (faster and smarter) would be the implementation of priority based exploration and A*
the processes in warehouses if we use mobile robots with algorithm in real scenario. [6] The proof for the A* algorithm
manipulators for identification and fetching an item. that this algorithm has a very low runtime for the execution
compared to the other available algorithms like BFS, unitary
This paper is explained in four sections as section 1 that cost, Dijkstra & DFS, this work is developed and tested in
is giving the background of the present technologies, section 3D robotic simulator WEBOTS.
2 is system architecture, section 3 is proposed algorithm
and section 4 is implementation. Section 1 (background For a dynamic unknown environment the path can be
of the developed technologies) depicts the overview of the chosen using a camera [7] [8] and undergoing further video
technologies developed for the path planning of the robot. processing which involves the edge detecting, finding the
Section 2 depicts the concept of the work developed and objects in and around the path to filter out the correct shortest

978-1-5386-5314-2/18/$31.00 ©2018 IEEE 1239


path. So that robot can navigate to Y point X point. Due to its
processing time and memory constraint and time constraint
this algorithm is limited to only mini-order businesses and
not for huge factory purposes where multi robots are used.
Considering the multi robot environment the communication
between the robots are very limited. Using machine learning
[9] technique named reinforcement algorithm helps in learning
their coordinates and Flocking technique is for inter-robot
communication with the common objective like heading all
robots to the same destination. Ant colony algorithm ACO
[10] is also deals with the finding shortest path between
starting point to the ending point avoiding the collisions to Fig. 1. System Architecture
a maximum extent. It limits to small environment due to
time constraint of execution but research on ACO proofs
that it can be overcome if robot number is raised to an robot for path planning.
extent. The proportion ratio [11] of environment size and the
robots are to be matched to achieve the good performance
in communication (SLAM, RTT & MPRTT are used) and III. PROPOSED ALGORITHM
avoiding the collisions (A* is used). The proposed algorithm for QR Code based Path Planning
for Warehouse Management Robot is designed and tested in
In an unknown environment like warehouse dealing with the WEBOTS simulator.
AGV’s the task allocation as well as collision avoidance are
quite complex. This algorithm [12] is developed and simulated A novel path planning technique was developed using QR
using MATLAB in such a way that the task allocation to code. Pre coded QR code sticker will be placed in some
the robot is done based on number of robots moving in the strategic locations on the floor as via point. Robot can localize
interested area and numbers of tasks arriving at the central itself using these QR code stickers and reach the desired
node. [13] Complexity with the collision avoidance as well as destination. All the possible paths needed not be loaded into
the communication between Automated Guided Vehicles and the robot. QR sticker carries the required information for the
the central node is solved to an extent. In this category every robot to navigate to the next via point or destination, in case of
decision will be taken care by the central node that includes change in path just placing new QR sticker is sufficient. The
providing inputs to the AGV’s and also sharing the data robot controller doesn’t have any complex logic, it simply scan
between AGV’s. So that central node takes care in allocating the QR code and navigates as per that, hence less computation.
as well as avoiding collisions.
The path matrix which contains the path information of
The proposed work is developed for an unknown neighbouring via point or destination is stored in QR sticker.
environment where the robot has to travel in and around The path matrix is in the format as shown in eqn. 1 :
the area with high efficiency and less time. So for such an
environment the developed algorithm has to be robust enough  
D1 RT 1 LT 1 F D1 BD1
to perform efficiently. So the QR Code based path planning  D2 RT 2 LT 2 F D2 BD2 
technique is used in which the pre coded QR stickers will P ath M atrix =  .

.. .. .. ..  (1)

be patched to the floor via points strategically. Due to the  .. . . . . 
quick response feature of QR code technology the robot can Dn RT n LT n F Dn BDn
extract the information stored in the QR sticker using an on
board camera. Using QR technology, the processing of the Here,
algorithm will be more faster. Since the robot doesn’t store Di = Destination, that can be a QR code/Object location
any path in its controller memory, it takes less processing RTi = Right turn angle in degree
time and reacts to the environment quickly and efficiently LTi = Left turn angle in degree
F Di = Forward Distance in meter
BDi = Backward Distance in meter
II. SYSTEM ARCHITECTURE i = 1 to n
Fig.1 shows the overview of proposed system architecture n = Number of destinations
where user interface is used to communicate with robot like
giving item/product details as inputs to the robot; QR scanner The matrix is in the form of k*5. Where k is number
module is used for the path planning. Robotic arm (5DOF) of rows and 5 is number of columns. The number of
is used to pick and place the item/product and motor with rows depends on the number of neighbourhood nodes. As
wheel encoder is used to calculate Odometric data of the neighbourhood nodes increases the number of rows will

1240
Fig. 3. Assumption of robot position and QR position (QR Sticekrs are Color
Coded for better Visualization)

A. Test Cases:
Case 1: Assume the robot at QR1 node facing North
direction. Observe the Fig. 3, then the path matrix is in the
format as shown in eqn. 3 :
 
A 90 0 X 0
P ath M atrix at QR1N = (3)
D 0 90 Y 0
So if the robot has to reach the node A then the robot has
to take right turn 90 degree and move forward for X meter
distance then the robot reaches QRA node. If the robot can
able to read QRA then the robot confirms that it reached the
Fig. 2. Path Planning model (QR Sticekrs are Color Coded for better destination A.
Visualization)
Same way if the robot has to reach the node D then the
robot has to take left turn 90 degree and move forward for Y
also increase. The numbers of columns in the matrix are meter distance then the robot reaches QRD node. If the robot
fixed that is 5. For example a row in a path matrix is can able to read QRD then the robot confirms that it reached
[A, 90, 0, X, 0] means that to reach the Destination A, the the destination D.
robot has to take 90 Degree right and move X meters forward.
Case 2: Assume the robot at QR1 position facing South
Fig shows the Path planning model where QR1, QR2, QR3, direction. Observe the Fig. 3.
QRA, QRB and QRC are the pre coded QR stickers. A, B, In this case the path matrix at QR1S has to be is in the
C are the destinations where the items the items are located format as shown in eqn. 4 :
at (X1, Y1), (X2, Y2) and (X3, Y3) coordinates respectively.  
A 0 90 X 0
P ath M atrix at QR1S = (4)
The Robot is assumed to be in its home position when D 90 0 Y 0
idle. On receiving a picking request the robot moves to
So if the robot has to reach the node A then the robot has to
the first QR Code the path to it is preprogrammed. From
take left turn 90 degree and move forward for X meter distance
there on robot will move towards the destination using
then the robot reaches QRA node. If the robot can able to read
QR Coded path matrices on the way. Same way from Fig.
QRA then the robot confirms that it reached the destination A.
2 path matrix at QR1 node is in the format as shown in eqn. 2 :
Same way if the robot has to reach the node D then the
robot has to take right turn 90 degree and move forward for

A 90 0 X 0
 Y meter distance then the robot reaches QRD node. If the
P ath M atrix at QR1 = (2) robot can able to read QRD then the robot confirms that it
QR2 0 0 Y 0
reached the destination D.
Depends on the orientation of the robot, the parameters of
the matrix gets changed. Fig. 2 is for when the robot facing Case 3: Assume the robot at QR1 position facing East
north, same way if the robot facing South/ West / East the direction. Observe the Fig. 3, then the path matrix is in the
input to the robot controller will be changed. So generic format as shown in eqn. 5 :
matrices are used which undergoes some matrix calculation  
A 0 0 X 0
for getting a correct matrix that will be using by the robot to P ath M atrix at QR1E = (5)
D 0 0 0 Y
reach the required target location. Following test cases gives
insight of the generic matrices. So if the robot has to reach the node A then the robot has
move forward for X meter distance then the robot reaches

1241
QRA node. If the robot can able to read QRA then the robot For case 2
confirms that it reached the destination A. The generic matrix when the robot facing south is in the
format as shown in eqn. 8 :
Same way if the robot has to reach the node D then  
the robot move backward for Y meter distance then 1 0 0 0 0
the robot reaches QRD node. If the robot can able to read 0 0 1 0 0
 
QRD then the robot confirms that it reached the destination D. 0 1 0 0 0 (8)
 
0 0 0 1 0
Case 4: Assume the robot at QR1 position facing West 0 0 0 0 1
direction. Observe the Fig. 3, then the path matrix is in the So the path matrix when robot facing south is in the format
format as shown in eqn. 6 : as shown in eqn. 9 :
 
A 0 0 0 X  
P ath M atrix at QR1W = (6) 1 0 0 0 0
D 0 0 Y 0 0 0 1
 0 0

So if the robot has to reach the node A then the robot has QRS = path matrix at QRn ×  0 1 0 0 0
 (9)
move backward for X meter distance then the robot reaches 0 0 0 1 0
QRA node. If the robot can able to read QRA then the robot 0 0 0 0 1
confirms that it reached the destination A.
For case 3
The generic matrix when the robot facing east is in the format
Same way if the robot has to reach the node D then the
as shown in eqn. 10 :
robot move forward for Y meter distance then the robot
reaches QRD node. If the robot can able to read QRD then 
1 0 0 0 0

the robot confirms that it reached the destination D. 0 0 0 0 0 
 
0 0 0 0 0  (10)
 
0 0 0 K J 
B. Generic Matrices:
0 0 0 J K
If this test case methods are followed then with respective
to the orientation of the robot, data in every QR node has So the path matrix when robot facing east is in the format as
to be changed or need to be filled with the extra sufficient shown in eqn. 11 :
data into it. To reduce the memory usage in the QR node  
there has to be a generic matrix for every orientation of 1 0 0 0 0
0 0 0 0 0
the robot. If this generic matrices are developed then the  
robot will have better processing the calculation, operation QRE = path matrix at QRn ×  0 0 0 0 0 (11)
0 0 0 K J
and also to reduces the timing for the calculation for the robot.
0 0 0 J K
So we have developed a generic matrices, it varies with Here K and J are variables that is K=R/90 and J=1-K, R
the orientation of the robot. For one orientation the generic means wheel angle for right turn.
matrix is different and for other orientation the generic matrix
is different. It is specific for specific orientation. For case 4
The generic matrix when the robot facing west is in the
For case 1 format as shown in eqn. 12 :
Consider the path matrix for a robot facing north. It will be  
default matrix that we use to generate path matrices for other 1 0 0 0 0
orientations of the robot. For the robot facing North direction, 0 0 0
 0 0
no need to alter the path matrix. Directly we can use it as 0 0 0
 0 0 (12)
required path matrix. 0 0 0 M N
0 0 0 N M
So the generic matrix when the robot facing north is in the
format as shown in eqn. 7 : So the path matrix when robot facing west is in the format
as shown in eqn. 13 :
 
  1 0 0 0 0
D1 RT 1 LT 1 F D1 BD1 0 0 0 0
 0
P ath matrix at QRn = D2 RT 2 LT 2 F D2 BD2 QRW = path matrix at QRn ×  0 0 0 0 0 (13)
D3 RT 3 LT 3 F D3 BD3 0 0 0 M N 
(7) 0 0 0 N M

1242
Fig. 4. Implementation of the algorithm when the target node is given as A Fig. 5. Implementation of the algorithm when the target node is given as B
node node

Here M and N are variables that is M=L/90 and N=1-M, L


means wheel angle for Left turn.

So based upon the value that we get from those generic


path matrix calculations the robot controller will calculate
the path matrix and navigates accordingly. Whenever the
robot reaches the QR node then the robot controller extracts
the information from the QR node, if the destination node
(input to the robot) matches with the node-index (D-index)
value that gets from the QR node then the robot moves to
the respective direction to reach the destination node. If not
it chooses an other direction and goes to other QR node,
repeats the same operation as it does at previous QR node.

IV. IMPLEMENTATION Fig. 6. Implementation of the algorithm when the target node is given as C
node
The implementation is carried out in WEBOTS robotic
simulator. So that we can test the efficiency of the
methodology. Warehouse layout in the WEBOTS is designed
by considering some standard warehouse layouts. Now
the robot environment will have racks where the items
will be placed and also the color tiles to identify the rack
locations and path planning purposes. Firstly a specific
target (Item/Product) details is given to the robot as
an input. Keeping the item/product details as a target
and implementing the proposed methodology the robot
keeps moving autonomously in the warehouse. As per the
methodology the robot navigates itself by getting the input
from the QR Code by scanning it. Due to the fast and robust
nature of QR, scanning and processing takes very less time.
So the robot reaches the target location very fast and scans
for the item/product presence in the rack. If the item/product
is present then the robots picks it and get it to the parcel/bill Fig. 7. Implementation of the algorithm when the target nodes are given as
counter. the sequence of A, B, C nodes

Fig. 4 gives the screen-shots of implementation, which


gives insight knowledge of how the methodology is working the Fig. 2 and Fig. 4 so that you can be familiar with the
when the target item/product is given as node A (compare destination node naming). (a), (b), (c), (d) of Fig. 4 conveys

1243
the information how the robot is navigating itself along the [2] N. O. Eraghi, F. Lpez-Colino, A. de Castro and J. Garrido, Path length
path by getting the inputs from QR patches to reach the comparison in grid maps of planning algorithms: HCTNav, A and
Dijkstra, Design of Circuits and Integrated Systems, Madrid, 2014, pp.
destination node A. As per the proposed methodology the 1-6.
robot navigates to the QR1 from the home position with the [3] Nakhaeinia, D., Tang, S.H., Mohd Noor, S.B., Motlagh, O.: A review
predefined distance and scans the QR patch. With the data that of control architectures for autonomous navigation of mobile robots.
International Journal of the Physical Sciences 6(2), 169174 (2011)
the robot extracted from the QR patch the processing will be [4] Jeddisaravi, Kossar, Reza Javanmard Alitappeh, and Frederico G.
carried out as per the methodology and navigates itself to the Guimares. ”Multi-objective mobile robot path planning based on A*
destination/target node A. Reaching the destination/target node search.” Computer and Knowledge Engineering (ICCKE), 2016 6th
International Conference on. IEEE, 2016.
A, the manipulator angle calculations will be carried out that [5] S. Narayan, T. V. Prasannakumar, M. Prasanth, N. P. Velavan, N. P.
helps for the manipulator to reach out the target item/product, Kumar and A. S. Pillai, ”A priority based exploration algorithm for path
picks it up and carries it to the parcel counter (home position). planning of an unmanned ground vehicle,” 2014 International Conference
on Embedded Systems (ICES), Coimbatore, 2014, pp. 275-280.
[6] Vargas, Germn A, Rubiano, O.G, Castillo, R.D, Aviles, O.F, and Maule-
Fig. 5 and 6 gives insight knowledge of how the doux, M.F. ”Simulation of e-puck path planning in Webots.” International
methodology is working when the target item/product is given Journal of Applied Engineering Research 11.19 (2016): 9772-9775.
[7] H. Ma, X. Wu, Y. Gong, Y. Cui and J. Song, A Task-Grouped Approach
as node B and node C respectively. for the Multi-robot Task Allocation of Warehouse System, 2015 Inter-
national Conference on Computer Science and Mechanical Automation
The methodology is robust enough that the robot can (CSMA), Hangzhou, 2015, pp. 277-280.
[8] Y. H. Kho, A. E. Abdulla and J. C. Z. Yan, A vision-based autonomous
accept the inputs from the customer or central unit, regardless vehicle tracking robot platform, 2014 IEEE Symposium on Industrial
to the location where the robot is moving in the warehouse. Electronics & Applications (ISIEA), Kota Kinabalu, 2014, pp. 173-176.
Robot will accept the inputs and navigates itself to the [9] Singh, Priyanka, Ritu Tiwari, and Mahua Bhattacharya. ”Navigation in
Multi Robot system using cooperative learning: A survey.” Computational
destination/target location. In brief for example, Fig. 7 shows Techniques in Information and Communication Technologies (ICCTICT),
when the robot undergo a process considering one input, 2016 International Conference on. IEEE, 2016.
say target/destination is A then if any other customer or [10] Joshy, Parvathy, and P. Supriya. ”Implementation of robotic path plan-
ning using Ant Colony Optimization Algorithm.” Inventive Computation
central unit gives one more input (say the target/destination Technologies (ICICT), International Conference on. Vol. 1. IEEE, 2016.
as B) to the robot to pick it up and carry it to the parcel [11] Sharma, Sujata, and Ritu Tiwari. ”A survey on multi robots area
counter then depending on the orientation of the robot and by exploration techniques and algorithms.” Computational Techniques in
Information and Communication Technologies (ICCTICT), 2016 Inter-
following the methodology the robot will undergo the process national Conference on. IEEE, 2016.
to calculate the path matrices for corresponding orientation. [12] C. J. Perera, T. D. Lalitharatne and K. Kiguchi, EEG-controlled meal
In this case the robot is facing east (since it is on the process assistance robot with camera-based automatic mouth position tracking and
mouth open detection, 2017 IEEE International Conference on Robotics
to pick the A item/product). So having the path matrix the and Automation (ICRA), Singapore, 2017, pp. 1760-1765.
robot navigates itself to the destination/target B. Same way [13] X. Yan, C. Zhang and M. Qi, Multi-AGVs Collision-Avoidance and
when the robot gets the other input says the target/destination Deadlock-Control for Item-To-Human Automated Warehouse, 2017 In-
ternational Conference on Industrial Engineering, Management Science
as C then again the robot undergo further process to get and Application (ICIMSA), Seoul, 2017, pp. 1-5.
the orientation of the itself and calculates the path matrix
corresponding to the orientation that the robot facing. Having
the calculated path matrix the robot navigates itself to the
target/destination location.Same procedure is successfully
repeated and observed the expected results with different
item/product details as a target to the robot.

V. C ONCLUSION & F UTURE S COPE


The proposed algorithm for QR Code based Path
Planning for Warehouse Management Robot is successfully
implemented and tested. The results proves that the algorithm
is accurate. The robot navigates to the desired destination
accurately in the simulation. This algorithm can be used in
any other application where pick and place on a big scale
is used. Same QR technique can be improvised picking an
object from a destination.

R EFERENCES
[1] G. Qing, Z. Zheng and X. Yue, Path-planning of automated guided vehicle
based on improved Dijkstra algorithm, 2017 29th Chinese Control And
Decision Conference (CCDC), Chongqing, 2017, pp. 7138- 7143.

1244

You might also like