Вы находитесь на странице: 1из 4

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/289825878

Robotic Indoor Path Planning Using Dijkstra's Algorithm with Multi-Layer


Dictionaries

Conference Paper · December 2015


DOI: 10.1109/ICISSEC.2015.7371031

CITATIONS READS

11 738

4 authors:

Fadzli Syed Abdullah Sani Iyal


Universiti Sultan Zainal Abidin Universiti Sultan Zainal Abidin
28 PUBLICATIONS   71 CITATIONS    2 PUBLICATIONS   12 CITATIONS   

SEE PROFILE SEE PROFILE

Mokhairi Makhtar Azrul Amri Jamal


Universiti Sultan Zainal Abidin | UniSZA Universiti Sultan Zainal Abidin
64 PUBLICATIONS   122 CITATIONS    26 PUBLICATIONS   33 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Marker-less Motion Capture View project

Mobile Quranic Memorization Tool View project

All content following this page was uploaded by Fadzli Syed Abdullah on 10 January 2016.

The user has requested enhancement of the downloaded file.


Robotic Indoor Path Planning using Dijkstra’s
Algorithm with Multi-Layer Dictionaries
Fadzli Syed Abdullah, Sani Iyal Abdulkadir, Mokhairi Makhtar, Azrul Amri Jamal
Faculty of Informatics & Computing
Universiti Sultan Zainal Abidin
Terengganu, Malaysia

Abstract—   Dijkstra’s algorithm is a classic algorithm for object-oriented approach was applied to the data storage
finding the shortest path between two points due to its structure to address the issue of large memory utilisation
optimisation capability. The adjacency matrix is the naïve caused by an adjacency matrix. Based on the improved storage
storage structure of the algorithm. This storage structure has structure, the heap structure was adopted to store nodes, which
limited the use of the algorithm as it expands large storage space. can minimise storage space and reduce node finding time.
A multi-layer dictionary is proposed in this work to enhance the However, the building of the heap and its linear search requires
storage structure. Previously, the algorithm was used to optimise complex work and time; it makes the algorithm difficult to be
single parameter (such as distance, time and fuel) for movement employed. [8] had considered improving traditional Dijkstra’s
between two places. The path computed using the classic
algorithm in terms of storage structure and search area in road
Dijkstra’s algorithm is the shortest; however, it may not be the
most feasible. The algorithm needs to optimise other factors such
networks route planning. Adjacency-list was applied to the
as energy and rotational capability of the user. Junction degree of
storage structure to reduce unnecessary utilisation of memory
difficulty function is introduced to further improve the output. It space caused by the adjacency matrix storage structure
is defined as the degree of difficulty of the path between two implementation. The researchers further reduced the searching
points in an open environment. The experimental result shows area of the algorithm by creating a rectangle with a diagonal
that the proposed path planning method successfully found the line from that source to the destination points within the
most optimal path between two locations when applied to a map searching area of the classical Dijkstra’s algorithm; this
of any indoor terrain. increased the real-time performance of route planning.
Although the algorithm had optimised the shortest path finding,
Keywords—   Dijkstra’s algorithm, indoor path planning, it was considered a defective shortest path algorithm since it
adjacency matrix, multi-layer dictionary reduced efficiency by restricting the search area. This paper
proposed a multi-layer dictionary storage structure for
I. INTRODUCTION Dijkstra’s algorithm. It also considered the difficulty of passing
Path planning is an act of finding the shortest, most feasible junctions between two points as an additional parameter for
and most optimal path for an autonomous vehicle that enables computing the optimal path of the mobile robot.
it to move from one point to another. Given a map with a
source and destination points, path planning includes locating a II. DIJKSTRA’S ALGORITHM
trajectory that will result in the robot to reach the target point Dijkstra is a breadth-first-search (BFS) algorithm for
when executed. The result of this algorithm is then utilised for finding the shortest paths from a single source vertex to all
physical movement for the autonomous robot on the sought other vertices. It processes vertices in increasing order of their
path [1]. The environment may either be indoors or outdoors. distance from the source, which are also called root vertices.
The indoor environment is characterised by the presence of The shortest path between two vertices is a path with the
surrounding walls, doorways, corridors, furniture, people and shortest length (i.e. least number of edges), also called link-
other moveable objects. The static indoor environment is distance.
always considered to contain only fixed obstacles within the
terrain. The consideration was due to the assumption that the Let 𝐺 = (𝑈, 𝑉) be a weighted undirected graph, with
robot moves along a dedicated part of the territory that will weight function 𝑤: 𝐸 → 𝑅  mapping edges to real-valued
never be obstructed by other moving objects. Numerous works weight. If e(u,v), then we write w(u,v) for w(e).
were accomplished to address this issue [2] [3] [4] [5] [6]. • The length of a path 𝑝 =   𝑣! , 𝑣! , 𝑣! , 𝑣! … 𝑣! would
Dijkstra’s algorithm is among the most famous solutions be the total of the weight of its constituent edges as in
regarding path planning. However the naïve storage structure (1):
of the algorithm provides limitations to an indoor environment
!
which needs more information for each nodes other than just 𝑙𝑒𝑛𝑔ℎ𝑡 𝑝 =   ! 𝑤(𝑣!!! , 𝑣! ) (1)
location. Many researchers proposed various methods to
improve the storage structure of the algorithm. [7] had • The distance from u to v, denoted by 𝛿(𝑢, 𝑣), is the
proposed an improvement to the Dijkstra’s data storage length of the minimum path if there is a path from u
structure and the node search method to improve the efficiency to v; and ∞ is otherwise.
of the algorithm in a geographic information system. An
The general idea of Dijkstra’s algorithm is to report vertices Let us apply the multi-layer dictionary to store the data of
in increasing order of their distances from the source vertex the floor plan in Fig. 1 and use Dijkstra’s algorithm to compute
while constructing the shortest path tree edge by edge; at each the shortest path between two predetermined locations. The
step adding one new edge, corresponding to the construction of plan consists of locations of interest labelled from A to R and
the shortest path to the current new vertex. This is the distance between every two nodes are directly linked from
accomplished in the following steps: one another. This information can be transformed into a graph.
The location can serve as nodes, and distances can act as edges
• Maintain an estimate 𝑑[𝑣] of the 𝛿(𝑠, 𝑣) of the shortest of the graph. Since the locations of each node are known, their
path for each vertex v. movement orientation can be pre-determined and stored in the
• Always 𝑑[𝑣] ≥ 𝛿(𝑠, 𝑣) and 𝑑[𝑣] equals the length of a dictionary.
known path (𝑑 𝑣 = ∞ if we have no path so far).
• Initially, 𝑑 𝑠 = 0 and all other 𝑑[𝑣] values are set ∞.
The algorithm will then process the vertices one by one in
some order. The processed vertex’s estimate will be
validated as being the real shortest distance; i.e.  𝑑 𝑣 =
𝛿(𝑠, 𝑣).
The term “processing a vertex u” means finding new paths
and updating 𝑑[𝑣] for all 𝑣 ∈ 𝑎𝑑𝑗[𝑢] if necessary. The process
by which an estimate is updated is called relaxation. When all
vertices have been processed, 𝑑 𝑣 = 𝛿(𝑠, 𝑣) for all v.

Fig. 2. Multi-layer dictionary representing the floor plan.

Fig. 2 displayed the basic information obtained from the


plan. It consists of three columns, and some rows equal the
number of points on the plan. The first column consists of all
points that are nodes on the graph. This serves as keys of the
first dictionary. The second column consists of all edges on the
graph. This serves as values of the second dictionary. The third
column is a sorted list that consists of three (3) information; i.e.
distance from start node to end node, starting orientation and
end orientation of two neighbouring nodes. The first and
Fig. 1. Floor plan of an indoor terrain.
second columns make the first dictionary, the second and third
columns make the second dictionary, while the value of the
Given Fig. 1 as a floor plan of an indoor environment, a
second dictionary is itself a list. For example, from node A to
multi-layer dictionary can be applied to store the data. The
C, the distance is 5 meters, starting orientation is 90 degrees
floor plan consists of rooms and hallways connected by links
and ending orientation is also 90 degrees. While from node C
that serve as a navigation path of a mobile robot within the
to Q, the distance is 6 metes, starting orientation is 180 degrees
terrain. These links consist of points of interest and junctions
and ending orientation is also 180 degrees. These information
that the robot will stay or move between two predetermined
can be used to determine the starting and ending orientation of
locations. The links form a network of all paths within the
the mobile robot at each node. For instance, when a mobile
environment. Dijkstra’s algorithm can be applied to find the
robot wants to travel from A to Q through C, it needs to make a
shortest path between any two locations within the terrain.
turn at node C. By calculating the different between ending
III. MULTI-LAYER DICTIONARY orientation 90 degrees for path A-C and starting orientation of
180 degrees for path C-Q, the robot will make a RIGHT turn of
The multi-layer dictionary consists of two dictionaries and 90 degrees at junction C.
a list of data structure organised in hierarchical order. The first
dictionary maps each and every node (i.e. location) to its IV. IMPLEMENTATION OF MULTI-LAYER DICTIONARY IN
neighbouring nodes. The second dictionary stores the path FINDING ROBOTIC PATH
information of each neighbouring pathway. Given a map or
floor plan of an indoor environment as G with two Dijkstra’s algorithm was adopted to determine the shortest
neighbouring nodes labeled as U and V, the expression G[U] path between pre-determined two points on the multi-layer
will return all the neighbours of the node U, and G[U][V] will dictionary data. The result of the algorithm was then applied to
return the path information between node U and V information. the robotic controller to move the robot between the two
points. Note that the result of the algorithm were commands
that direct the robot to move LEFT, RIGHT, STRAIGHT or rotations and turns the robot should take when considering the
TURN based on the information. At each node, the mobile path from start to destination.
robot was subject to execute one of these commands, and they
guided the robot to reach the destination from the starting
point. A path is a connection of series of edge computed as REFERENCES
(2):
[1] Rahul Kala, Anupam Shukla, and Ritu Tiwari, "Robotic Path Planning
𝑝𝑎𝑡ℎ 𝑥, 𝑦 = 𝑚𝑖𝑛 (𝑤 𝑑 + 𝑤 𝐷𝑜𝐷 ) (2) using Multi Neuron Heuristic Search", in proceeding of 2nd International
Conference on Interaction Sciences: Information Technology, Culture and
where path (x, y) was the most optimal path from point x to Human (ICIS '09), New York, 2009, pp. 1318-1317
y; w(d) was the distance weight; and w(DoD) was the weight [2] Hua Wu, A. Marshall, and W. Yu, "Path Planning and Following
function of the degree of difficulty of passing an edge of two Algorithms in an Indoor Navigation Model for Visually Impaired," in
neighbouring nodes. proceeding of 2nd International Conference on Internet Monitoring and
Protection, San Jose, CA, 2007, p. 38.
TABLE I. OUTPUT OF THE PROPOSED ALGORITHM [3] Kai Sun, Yuanlong Yu, and J. Gu, "Efficient robot navigation for semi-
structured indoor storehouse," in proceeding of 28th Canadian Conference
Start and Results of Dijkstra’s Result of the algorithm
on Electrical and Computer Engineering (CCECE), Halifax, NS, 2015,
end points algorithm using dictionary
pp. 1313-1317.
L to R Shortest Path: Optimum Path: [4] Yukuan Sun, Jianming Wang, and Xiaojie Duan, "Research on path
L, K, I, N, O Q, R L, K, I, H, D, C, Q, R planning algorithm of indoor mobile robot," in proceeding of
Orientations: Orientations: International Conference on Mechatronic Sciences, Electric Engineering
STRAIGHT, RIGHT, STRAIGHT, RIGHT, and Computer (MEC), Shengyang, 2013, pp. 1108 - 1111.
LEFT, RIGHT, STRAIGHT, STRAIGHT, [5] Han Hongling and Yang Fenglei, "Path Planning of an Indoor Mobile
STRAIGHT, STRAIGHT, STRAIGHT, STRAIGHT, Robot Navigated by Infrared," in proceeding of International Conference
LEFT LEFT, STRAIGHT on E-Product E-Service and E-Entertainment (ICEEE), Henan, 2010, pp.
Total degree of turns: Total degree of turns: 1-4.
360 degrees 180 degrees [6] Hongtai Cheng, Heping Chen, and Yong Liu, "Topological Indoor
Localization and Navigation for Autonomous Mobile Robot," IEEE
A to N Shortest Path: Optimum Path: Transactions on Automation Science and Engineering, vol. 12, no. 2, pp.
A, C, Q, O, N A, C, D, H, I, N 729 - 738, April 2015.
Orientations: Orientations: [7] Y.Q. Liu, Q.L. Huang, Y.X. Zhang, G.F. Luan M.H. Xu, "An improved
STRAIGHT, RIGHT, STRAIGHT, STRAIGHT, Dijkstra’s shortest path algorithm for sparse network," Applied
LEFT, STRAIGHT STRAIGHT, STRAIGHT, Mathematics and Computation, vol. 185, no. 1, pp. 247–254, February
RIGHT 2007.
Total degree of turns:
180 degrees Total degree of turns: [8] DongKai Fan and Ping Shi, "Improvement of Dijkstra's algorithm and its
90 degrees application in route planning," in proceeding of 7th International
Conference on Fuzzy Systems and Knowledge Discovery (FSKD), Yantai,
E to P Shortest Path: Optimum Path: Shandong, 2010, pp. 1901 - 1904.
E, D, C, Q, O, P E, D, C, Q, O, P
Orientations: Orientations:
STRAIGHT, RIGHT, STRAIGHT, RIGHT, LEFT,
LEFT, LEFT, RIGHT LEFT, RIGHT
Total degree of turns: Total degree of turns:
180 degrees 180 degrees

Table 1 compares the different results produced by the


traditional Dijkstra’s algorithm compared to the Dijkstra’s with
multi-layer dictionary. The results shows that the proposed
method managed to produce the most optimum path with less
degree of turns which results in a comfortable and faster
pathway for both L to R and A to N. For E-P, both method
produces the same pathway.
V. CONCLUSION
From the experimental result, it was shown that the multi-
layer dictionary provided a more comprehensive data storage
of Dijkstra’s algorithm for an indoor environment where GPS
location and compass information are not reliable. The path
information will help determine the degree of rotation at each
point of interest or junction. The result showed that the
proposed method managed to produce an optimal path where
the length and the degree of difficulty were both considered.
The degree of difficulty was considered as the total degree of

View publication stats

Вам также может понравиться