Professional Documents
Culture Documents
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
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
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
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.
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