IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
AN INTEGRATED RRT*SMART-A* ALGORITHM FOR
SOLVING THE GLOBAL PATH PLANNING PROBLEM IN
A STATIC ENVIRONMENT
HERU SUWOYO1, ANDI ADRIANSYAH1 *, JULPRI ANDIKA1,
ABU UBAIDAH SHAMSUDIN2 AND MOHAMAD FAUZI ZAKARIA2
1
Department of Electrical Engineering, Universitas Mercu Buana, Jakarta, Indonesia
2
Department of Electrical and Electronic Engineering,
Universiti Tun Hussein Onn Malaysia, Johor, Malaysia
*
Corresponding author: andi@mercubuana.ac.id
th
(Received: 15 July 2021; Accepted: 5th October 2022; Published on-line: 4th January 2023)
ABSTRACT: The use of sampling-based algorithms such as Rapidly-Exploring Random
Tree Star (RRT*) has been widely applied in robot path planning. Although this variant
of RRT offers asymptotic optimality, its use is increasingly limited because it suffers
from convergence rates, mainly when applied to an environment with a poor level of
obstacle neatness and a narrow area to the target. Thus, RRT*-Smart, a further
development of RRT*, is considered ideal for solving RRT* problems. Unlike RRT*,
RRT*-Smart applies a path optimization by removing the redundant nodes from the
initial path when it is gained. Moreover, the path is also improved by identifying the
beacon nodes used to steer the bias of intelligent sampling. Nevertheless, this initial path
is found with termination criteria in terms of a region around the goal node.
Consequently, it risks failing to generate a path on a narrow channel. Therefore, a novel
algorithm achieved by combining RRT*-Smart and A* is proposed. This combination is
intended to switch method-by-method for the exploration process when the new node
reaches the region around the goal node. However, before RRT*-Smart is combined with
A*, it is improved by replacing the random sampling method with Fast Sampling. In
short, by involving A*, the exploration process for generating the Smart-RRT*’s initial
path can be supported. It gives the optimal and feasible raw solution for any complex
environment. It is logically realistic because A* searches and evaluates all neighbors of a
current node when finding the node with low cost to the start and goal node for each
iteration. Therefore, the risk of collision with an obstacle in the goal region is covered,
and generating an initial path in the narrow channel can be handled. Furthermore, this
proposed method's optimality and fast convergence rate are satisfied.
ABSTRAK: Penggunaan algoritma berasaskan pensampelan seperti Rapidly-Exploring
Random Tree Star (RRT*) telah digunakan secara meluas dalam perancangan laluan
robot. Walaupun varian RRT ini menawarkan keoptimuman tanpa gejala,
penggunaannya semakin terhad kerana ia mengalami kadar penumpuan, terutamanya
apabila digunakan pada persekitaran dengan tahap kekemasan halangan yang lemah dan
kawasan yang sempit ke sasaran. Oleh itu, RRT*-Smart, pembangunan lanjut RRT*,
dianggap sesuai untuk menyelesaikan masalah RRT*. Tidak seperti RRT*, RRT*-Smart
menggunakan pengoptimuman laluan dengan mengalih keluar nod berlebihan daripada
laluan awal apabila ia diperoleh. Selain itu, laluan juga dipertingkatkan dengan mengenal
pasti nod suar yang digunakan untuk mengemudi bias pensampelan pintar. Namun
begitu, laluan awal ini ditemui dengan kriteria penamatan dari segi rantau di sekeliling
nod matlamat. Akibatnya, ia berisiko gagal menjana laluan pada saluran yang sempit.
Oleh itu, algoritma baru yang dicapai dengan menggabungkan RRT*-Smart dan A*
269
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
dicadangkan. Gabungan ini bertujuan untuk menukar kaedah demi kaedah untuk proses
penerokaan apabila nod baharu sampai ke kawasan sekitar nod matlamat. Walau
bagaimanapun, sebelum RRT*-Smart digabungkan dengan A*, ia diperbaiki dengan
menggantikan kaedah persampelan rawak dengan Persampelan Pantas. Pendek kata,
dengan melibatkan A*, proses penerokaan dalam menjana laluan awal yang Smart-RRT
lakukan* boleh disokong. Ia memberikan penyelesaian mentah yang optimum dan boleh
dilaksanakan untuk mana-mana persekitaran yang kompleks. Ia adalah realistik secara
logik kerana A* mencari dan menilai semua jiran nod semasa apabila mencari nod
dengan kos rendah ke nod permulaan dan matlamat untuk setiap lelaran. Oleh itu, risiko
perlanggaran dengan halangan di kawasan matlamat dilindungi, dan menjana laluan awal
dalam saluran sempit boleh dikendalikan. Tambahan pula, kaedah optimum yang
dicadangkan dan kadar penumpuan yang cepat ini berpuas hati.
KEYWORDS: path planning; A* algorithm; RRT*-smart algorithm; convergence rate
1. INTRODUCTION
As an intelligent application, mobile robots have received considerable attention from
researchers. The increase in productivity and efficiency offered by the use of mobile
robots is behind this concern [1-3]. Therefore, it is not surprising that developments in
navigation on mobile robots continue rapidly because navigation is at the core of its
intelligence [4,5]. Path planning is the basis of a robotic navigation, namely the ability to
plan a path without collisions with obstacles in the environment [6-8]. Although there are
several strategies with different exploration representations, grid-based algorithms [9-11]
and sampling-based algorithms [12-15] are in great demand because of their ease of
implementation. For example, there are A* and RRT* algorithms for these types,
respectively. As its advantage, A* offers the completeness and optimality of the resolution
which is not guaranteed by RRT*. However, A* algorithm is limited in use, because it
consumes much time to solve the problem when applied to high-dimensional state space.
Accordingly, RRT* has been chosen to tackle this limitation. Although RRT* in this case
is obviously better than A* algorithm, it works infinitely when the region around the goal
node is not reached. It is also work based on the probabilistic principle leading the large
variance to time which gives its another disadvantage named slow convergence rate.
Moreover, RRT* uses the criteria termination in the form of a predefined maximum
number of the sampling node and condition when the new explored node reaches the
region around the goal node, which increases the processing time.
Referring to this limitation, RRT* have been intensively maintained [16]. This concern
not only enhances the optimality of RRT* but also accelerates its convergence rate. There
are several algorithms intended to tackle this limitation such as Fast-RRT [17], ConnectRRT [11,15,18], informed RRT*[11], and Smart-RRT*[16,17,19,20]. The most popular
algorithm is Smart-RRT* with claims optimality and fast working time. Although it also
applies some procedures of RRT*, the Smart-RRT* also executes the path optimization
when the initial path is found [21]. This makes RRT*-smart a better solution compared to
RRT* in terms of optimality. This optimization is designed to remove the redundant node
given by the initial path. Moreover, RRT*-Smart is also completed with an intelligent
sampling to replace the conventional random sampling [16]. Conceptually, this sampling
is done by biasing it to the beacon node of optimized path, in which the beacon node is
identified from the path optimization process. Therefore, once the RRT*-Smart obtains a
shorter path compared to the previous one, the optimization is conducted and
simultaneously gets the new beacon node. Accordingly, it improves its predecessor named
RRT*.
270
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
However, due to following some procedures of RRT*, RRT*-Smart takes over the
particular characteristic of RRT* namely, the criteria termination [22]. Similar to RRT*,
the process of getting the initial path is noticed to break when the newest node is in the
region around the goal node. Therefore, both RRT* and RRT*-Smart are still at risk of
failure in generating a feasible path when the start and goal node are separated with a
narrow channel in the environment [23-26]. Furthermore, terminating the exploration
process of Smart-RRT* with a region around a goal node requires the knowledge of any
obstacle close to the goal node that would be difficult for the robot to perceive. The reason
for this difficulty is because the characteristic of map information that might be given by
Simultaneous Localization and Mapping is still categorized as raw. Thus, terminating the
process with a trigger of radius will definitely cause RRT*-Smart to make a potential
mistake.
For this urgency, it is strongly recommended to improve RRT*-Smart with an ability
of connecting the newly expanded node to the goal node when they are closed to each
other in the channel environment. Through this paper, aiming to tackle the limitation in
terms of optimality and keep the way of determining the optimized path, A* algorithm is
proposed to handle the rest task of path planning when the newly expanded node reaches
the area closed to the goal node even when a border exists. A* algorithm has been
recorded as a searching-based planning method with some advantages such as having
optimality and high resolution of tracing procedure [27]. This advantage makes the A*
algorithm relevant to be applied as a helper for RRT*-Smart in narrow channels near the
goal node so that the time required for search expansion can be further reduced. In general,
the search process using this combination begins by using RRT*, part of the RRT*-Smart
process, to carry out the exploration stage. In contrast to RRT* and RRT*-Smart, this case
uses a fast-sampling technique to replace conventional sampling technique. This is
intended to speed up the exploration process and achieve node positions near the goal. For
the record, fast sampling is a technique applied to fast-RRT, which performs the
exploration process without repeating the placement of sampling nodes in areas close to a
group of nodes that have been recorded. While this represents an advantage for searching
in a wide environment, the potential difficulty in expanding into narrow channels
increases. For this reason, the expansion process needs to be supported by the relevant
algorithm, namely A*. The formation of this initial path will be completed after A* makes
a connection from the closest node to the goal with the goal node. Furthermore, the
proposed algorithm will continue the process by applying path optimization and intelligent
sampling from RRT*-Smart, so that optimality is maintained with an increased
convergence rate.
2. MATERIAL AND METHODS
As usual, the global problem is defined to show the relation to its existing solution. It
is reliable by firstly defining the objective of finding a solution for a path planning
problem, which is how to determine the connection from the initial node to the goal node
without any collision with any obstacle existing in the environment. Globally, there are
two important benchmarks used for evaluating the performance of a path planning
algorithm, namely optimality and convergence rate. Respectively, these can be represented
by a feasible path and time consumption in generating it. Therefore, by well knowing the
problem and these benchmarks, a feasibility of the designed or targeted algorithm could be
declared.
271
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
Let 𝑍 ∈ ℝ𝑛 be the representation of state space for a path planning problem, with 𝑛 ∈
𝑁 being the space dimension, thus 𝑍 = {𝑍𝑜𝑏𝑠, 𝑍𝑓𝑟𝑒𝑒 } is another state space with 𝑍𝑜𝑏𝑠 ∈ 𝑍
referring to obstacle coordinates and 𝑍𝑓𝑟𝑒𝑒 ∈ 𝑋 free space. Moreover, if the start node
𝑧𝑖𝑛𝑖𝑡 ∈ 𝑍𝑓𝑟𝑒𝑒 and goal node 𝑧𝑔𝑜𝑎𝑙 ∈ 𝑍𝑓𝑟𝑒𝑒 are given, then referring to 𝑍𝑜𝑏𝑠 , the path
planning algorithm has to find the ideal path to/from those nodes, denoted as 𝜎 = [0, 𝑇] →
𝑍𝑓𝑟𝑒𝑒 with 𝜎(0) = 𝑥𝑖𝑛𝑖𝑡 and 𝜎(𝑇) = 𝑍𝑔𝑜𝑎𝑙 where 𝑍𝑔𝑜𝑎𝑙 = {𝑧 ∈ 𝑍‖𝑧 − 𝑧𝑔𝑜𝑎𝑙 ‖ < 𝑟} where
𝑟 is the radius around goal defined at the beginning.
2.1 A* Algorithm
A* is considered to be a heuristic-based search algorithm with the advantage of
optimal path [28], [29]. This algorithm has a main step to assess the direction of travel by
referring to the lowest cost/distance value from the neighbor n-th node around the current
node 𝑧𝑐𝑢𝑟𝑟𝑒𝑛𝑡 . This cost is obtained by scanning the distance from the current node with
eight surrounding nodes to get the value of (𝑛), and also from a heuristic function ℎ(𝑛)
that gives the value of ℎ, which is the distance value from the eight nodes around the
current node to the destination node, where this distance is calculated by applying
Euclidean Distance and 𝑓(𝑛) is mathematically determined using Eq. (1).
𝑓(𝑛) = 𝑔(𝑛) + ℎ(𝑛, 𝑧𝑔𝑜𝑎𝑙 )
(1)
where 𝑔(𝑛) is a function that represents the cost of the path required from the start node
𝑧_𝑖𝑛𝑖𝑡 to the current node 𝑧_𝑐𝑢𝑟𝑟𝑒𝑛𝑡. Briefly, the calculation of 𝑔(𝑛) refers to the eight
costs which are determined based on the position in relation to the current that is the
center. While ℎ(𝑛, 𝑧𝑔𝑜𝑎𝑙 ) is a function used to calculate the required cost from the goal
node 𝑧𝑔𝑜𝑎𝑙 to the n-th node. This function applies Euclidean distance which directly
calculates the distance to the goal node regardless of whether there is a collision with an
obstacle or not. The sum of both is called 𝑓𝑐𝑜𝑠𝑡 which is used as the evaluation function of
the nth node. In general, there are two sets named 𝑜𝑝𝑒𝑛𝑆𝑒𝑡 and 𝑐𝑙𝑜𝑠𝑒𝑑𝑆𝑒𝑡 in A*. All
nodes that will be evaluated are placed in 𝑜𝑝𝑒𝑛𝑆𝑒𝑡, and then the nodes that have been
evaluated are removed from 𝑜𝑝𝑒𝑛𝑆𝑒𝑡 and moved to 𝑐𝑙𝑜𝑠𝑒𝑑𝑆𝑒𝑡. At the start of the process,
the start node 𝑧_𝑖𝑛𝑖𝑡 is placed as a member of the 𝑜𝑝𝑒𝑛𝑆𝑒𝑡 set since the start node is the
initial of the search then 𝑔(𝑧_𝑖𝑛𝑖𝑡) = 0. Thus 𝑓𝑐𝑜𝑠𝑡 for the start node 𝑓(𝑧𝑖𝑛𝑖𝑡 ) is the same
as ℎ(𝑧𝑖𝑛𝑖𝑡 , 𝑧𝑔𝑜𝑎𝑙 ). Furthermore, taking into account all the evaluation costs of 𝑓𝑐𝑜𝑠𝑡 for all
nodes in the 𝑜𝑝𝑒𝑛𝑆𝑒𝑡, the node with the lowest 𝑓𝑐𝑜𝑠𝑡 will be selected as the current node
𝑧𝑐𝑢𝑟𝑟𝑒𝑛𝑡 and its availability in the 𝑜𝑝𝑒𝑛𝑆𝑒𝑡 is removed and transferred/added to the
𝑐𝑙𝑜𝑠𝑒𝑑𝑆𝑒𝑡. As a step in defining the termination criteria, if this current node is a goal
node, the process is stopped because it explains that the path has been obtained. Instead,
all neighbors of the current node will be checked based on their 𝑔𝑐𝑜𝑠𝑡 . In the case of the
grid map, there are the eight-neighbor nodes for the current node. Each neighbor node has
a specified cost to the current node and is used as the basis for calculating 𝑔𝑐𝑜𝑠𝑡 . If the
neighbor node is in a 𝑐𝑙𝑜𝑠𝑒𝑑𝑆𝑒𝑡 or it is not traversable, the scan is continued on the next
neighbor node. The neighbor node with the lowest 𝑔𝑐𝑜𝑠𝑡 is determined. The neighbor node
with the lowest 𝑔𝑐𝑜𝑠𝑡 will then be checked, if it is not in the 𝑜𝑝𝑒𝑛𝑆𝑒𝑡 then it is moved, set
its 𝑓𝑐𝑜𝑠𝑡 , and set its parent to current node. Furthermore, this series of processes will be
repeated until the termination criteria are met and to clarify this description the
pseudocode of the A* algorithm is given
272
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
𝑨𝒍𝒈𝒐𝒓𝒊𝒕𝒉𝒎 𝟏. 𝑨∗ 𝑨𝒍𝒈𝒐𝒓𝒊𝒕𝒉𝒎
𝐶𝑙𝑜𝑠𝑒𝑑𝑆𝑒𝑡 = [ ]
𝑂𝑝𝑒𝑛𝑆𝑒𝑡 = [ ]
𝑂𝑝𝑒𝑛𝑆𝑒𝑡 = [𝑧𝑖𝑛𝑖𝑡 ]
𝑔(𝑧𝑖𝑛𝑖𝑡 ) = 0
ℎ(𝑧𝑖𝑛𝑖𝑡 ) ← ℎ𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒(𝑧𝑖𝑛𝑖𝑡 , 𝑧𝑔𝑜𝑎𝑙 )
𝑓(𝑧𝑖𝑛𝑖𝑡 ) ← 0 + ℎ(𝑧𝑖𝑛𝑖𝑡 )
𝒘𝒉𝒊𝒍𝒆 𝑜𝑝𝑒𝑛𝑆𝑒𝑡 ≠ ∅ 𝒕𝒉𝒆𝒏
𝑧𝑐𝑢𝑟𝑟𝑒𝑛𝑡 = 𝑛𝑜𝑑𝑒 𝑖𝑛 𝑂𝑝𝑒𝑛𝑆𝑒𝑡 𝑙𝑜𝑤𝑒𝑠𝑡 𝑓𝑐𝑜𝑠𝑡
𝑟𝑒𝑚𝑜𝑣𝑒 𝑧𝑐𝑢𝑟𝑟𝑒𝑛𝑡 𝑓𝑟𝑜𝑚 𝑂𝑝𝑒𝑛𝑆𝑒𝑡
𝑎𝑑𝑑 𝑧𝑐𝑢𝑟𝑟𝑒𝑛𝑡 𝑡𝑜 𝐶𝑙𝑜𝑠𝑒𝑑𝑆𝑒𝑡
𝒊𝒇 𝑧𝑐𝑢𝑟𝑟𝑒𝑛𝑡 = 𝑧𝑔𝑜𝑎𝑙
𝑟𝑒𝑡𝑢𝑟𝑛
𝒆𝒏𝒅𝒊𝒇
𝒇𝒐𝒓𝒆𝒂𝒄𝒉 𝑧𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 𝑜𝑓 𝑧𝑐𝑢𝑟𝑟𝑒𝑛𝑡
𝒊𝒇 𝑧𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 𝑖𝑠 𝑖𝑛 𝐶𝑙𝑜𝑠𝑒𝑑𝑆𝑒𝑡 𝒐𝒓 𝑧𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 𝑖𝑠 𝑛𝑜𝑡 𝑡𝑟𝑎𝑣𝑒𝑟𝑠𝑎𝑏𝑙𝑒
𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑒
𝒆𝒏𝒅𝒊𝒇
𝒊𝒇 𝑛𝑒𝑤𝑝𝑎𝑡ℎ 𝑡𝑜 𝑧𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 𝑖𝑠 𝑠ℎ𝑜𝑟𝑡𝑒𝑟 𝒐𝒓 𝑧𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 𝑖𝑠 𝑛𝑜𝑡 𝑖𝑛 𝑂𝑝𝑒𝑛𝑆𝑒𝑡
𝑠𝑒𝑡 𝑓𝑐𝑜𝑠𝑡 𝑜𝑓 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟
𝑠𝑒𝑡 𝑝𝑎𝑟𝑒𝑛𝑡 𝑜𝑓 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 𝑡𝑜 𝑧𝑐𝑢𝑟𝑟𝑒𝑛𝑡
𝒊𝒇 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 𝑖𝑠 𝑛𝑜𝑡 𝑖𝑛 𝑂𝑝𝑒𝑛𝑆𝑒𝑡
𝑎𝑑𝑑 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 𝑡𝑜 𝑂𝑝𝑒𝑛𝑆𝑒𝑡
𝒆𝒏𝒅𝒊𝒇
𝒆𝒏𝒅𝒊𝒇
𝒆𝒏𝒅𝒇𝒐𝒓𝒆𝒂𝒄𝒉
𝒆𝒏𝒅
2.2 RRT*-Smart
RRT*-Smart is an enhanced version of RRT* that works in the same way as RRT*
for finding the initial path [14,20]. Besides that, it undertakes a path optimization
procedure once an initial path has been determined. This procedure eliminates unnecessary
nodes from the path that was initially discovered. The optimization is supported by the
beacon nodes which are determined after conducting a triangular inequality technique
when the initial path is found. Intelligent sampling is the second key feature introduced by
RRT*- Smart. This sampling differs from random sampling in that it is directed towards
optimal path beacon nodes. It sets a radius for intelligent exploration around selected
beacons using a Biasing Radius 𝑏. RRT*-Smart performs the path optimization procedure
again to build additional beacon nodes as soon as it identifies a shorter path. As a result,
RRT*-Smart improves path cost and accelerates path convergence.
273
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
1.
2.
3.
4.
5.
6.
7.
8.
𝑨𝒍𝒈𝒐𝒓𝒊𝒕𝒉𝒎 𝟐. 𝑹𝑹𝑻∗ 𝑺𝒎𝒂𝒓𝒕 𝑨𝒍𝒈𝒐𝒓𝒊𝒕𝒉𝒎 ~ 𝑻 = (𝑽, 𝑬) ← 𝑹𝑹𝑻∗ 𝑺𝒎𝒂𝒓𝒕(𝒛𝒊𝒏𝒊𝒕 )
1 9. 𝑇 ← 𝐼𝑛𝑖𝑡𝑖𝑎𝑙𝑖𝑧𝑒𝑇𝑟𝑒𝑒( )
2 10. 𝑇 ← 𝐼𝑛𝑠𝑒𝑟𝑡𝑁𝑜𝑑𝑒(∅, 𝑧𝑖𝑛𝑖𝑡 , 𝑇)
3 11. 𝒇𝒐𝒓 𝑖 = 1 𝒕𝒐 𝑁 𝒅𝒐
4
𝒊𝒇 𝑖 = 𝑛 + 𝑏, 𝑛 + 2𝑏, 𝑛 + 3𝑏 … 𝒕𝒉𝒆𝒏
5
𝑧𝑟𝑎𝑛𝑑 ← 𝑖𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡_𝑠𝑎𝑚𝑝𝑙𝑖𝑛𝑔(𝑖, 𝑧𝑏𝑒𝑎𝑐𝑜𝑛 )
6
𝒆𝒍𝒔𝒆
7
𝑧𝑟𝑎𝑛𝑑 ← 𝑠𝑎𝑚𝑝𝑙𝑖𝑛𝑔(𝑖)
8
𝒆𝒏𝒅𝒊𝒇
9
𝑧𝑛𝑒𝑎𝑟𝑒𝑠𝑡 ← 𝑛𝑒𝑎𝑟𝑒𝑠𝑡(𝑇, 𝑧𝑟𝑎𝑛𝑑 )
10
(𝑧𝑛𝑒𝑤 , 𝑢𝑛𝑒𝑤 , 𝑇) ← 𝑠𝑡𝑒𝑒𝑟(𝑧𝑛𝑒𝑎𝑟𝑒𝑠𝑡 , 𝑧𝑟𝑎𝑛𝑑 )
11
𝒊𝒇 𝑜𝑏𝑠𝑡𝑎𝑐𝑙𝑒𝑓𝑟𝑒𝑒(𝑧𝑛𝑒𝑤 ) 𝒕𝒉𝒆𝒏
12
𝑧𝑛𝑒𝑎𝑟 ← 𝑛𝑒𝑎𝑟(𝑇, 𝑧𝑛𝑒𝑤 , |𝑉|)
13
𝑧𝑚𝑖𝑛 ← 𝑐ℎ𝑜𝑜𝑠𝑒𝑛𝑝𝑎𝑟𝑒𝑛𝑡(𝑧𝑛𝑒𝑎𝑟 , 𝑧𝑛𝑒𝑎𝑟𝑒𝑠𝑡 , 𝑧𝑛𝑒𝑤 )
14
𝑇 ← 𝑖𝑛𝑠𝑒𝑟𝑡𝑛𝑜𝑑𝑒(𝑧𝑚𝑖𝑛 , 𝑧𝑛𝑒𝑤 , 𝑇)
15
𝑇 ← 𝑟𝑒𝑤𝑖𝑟𝑒(𝑇, 𝑍𝑛𝑒𝑎𝑟 , 𝑍𝑚𝑖𝑛 , 𝑍𝑛𝑒𝑤 )
16
𝒆𝒏𝒅𝒊𝒇
17
𝒊𝒇 𝑖𝑛𝑖𝑡𝑖𝑎𝑙𝑃𝑎𝑡ℎ𝑓𝑜𝑢𝑛𝑑 𝒕𝒉𝒆𝒏
18
𝑛←𝑖
19
(𝑇, 𝑑𝑖𝑟𝑒𝑐𝑡𝑐𝑜𝑠𝑡) ← 𝑝𝑎𝑡ℎ𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑡𝑖𝑜𝑛(𝑇, 𝑧𝑖𝑛𝑖𝑡 , 𝑧𝑔𝑜𝑎𝑙 )
20
𝒆𝒏𝒅𝒊𝒇
21
𝒊𝒇 (𝑑𝑖𝑟𝑒𝑐𝑡𝑐𝑜𝑠𝑡𝑛𝑒𝑤 < 𝑑𝑖𝑟𝑒𝑐𝑡𝑐𝑜𝑠𝑡𝑜𝑙𝑑) 𝒕𝒉𝒆𝒏
22
𝑍𝑏𝑒𝑎𝑐𝑜𝑛𝑠 ← 𝑝𝑎𝑡ℎ𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑡𝑖𝑜𝑛(𝑇, 𝑧𝑖𝑛𝑖𝑡 , 𝑧𝑔𝑜𝑎𝑙 )
23
𝒆𝒏𝒅𝒊𝒇
24
𝒓𝒆𝒕𝒖𝒓𝒏 𝑇
25
𝒆𝒏𝒅𝒇𝒐𝒓
26
In the initial path-finding stage, RRT*-Smart applies a conventional sampling
technique. This technique will randomly generate nodes in the search space referring to
the maximum and minimum limits of their representation. Based on these random nodes,
the nearest node is determined by applying a Euclidean distance evaluation to the set of
nodes. The direction from the nearest node to a random node is then determined as a
reference direction for generating new nodes. In addition to referring to the reference
direction, the placement of new node locations is also carried out based on the calculated
distance between the random node and the nearest node. If the distance is less than or
equal to the specified reference distance, then the placement of the new node from the
nearest node is as far as the calculated distance. On the other hand, the placement of the
new node from the nearest node is equal to the specified reference distance. This process
is represented by Algorithm 2 in lines 9 and 10 after the sampling process in line 7 is
carried out. Then RRT*-Smart will continue the process by paying attention to the new
node. If the location of the new node is not the same as one of the points of the obstacle
position and also the line formed from the new node to the nearest node does not intersect
with any line from the obstacle, then the new node is connected to the nearest node as an
Edge 𝐸. This process is called the wiring process in RRT. Furthermore, the nearest node
will be temporarily considered as the parent node 𝑧𝑛𝑒𝑎𝑟 of the new node 𝑧𝑛𝑒𝑤 and all
neighbor nodes of the new node are then evaluated for their proximity. The node that has
the closest distance will be called 𝑧𝑚𝑖𝑛 which is also the parent node for the new node.
And the new node is linked to 𝑧𝑚𝑖𝑛 . This stage is rewiring which simultaneously
distinguishes RRT and RRT*, where the process is shown in lines 11 to 15 of Algorithm
274
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
2. In RRT*-Smart this series of steps is a process in determining the initial path before this
path is optimized by applying Triangular Inequality. In short, this technique builds a new
edge by connecting the node to the next node in the node set 𝑇 if the relationship between
the two nodes is free of obstacles and collisions. So, it is clear that in this process, the
number of nodes will be reduced. This new set of nodes is called beacons 𝑧𝑏𝑒𝑎𝑐𝑜𝑛𝑠 as lies
on line 23 and simultaneously the path formed from start to goal is connecting all these
beacons with its costs termed 𝑑𝑖𝑟𝑒𝑐𝑡𝑐𝑜𝑠𝑡. Finding this initial path will trigger intelligent
sampling with a number of samples spawned around 𝑧𝑏𝑒𝑎𝑐𝑜𝑛𝑠 . This is done as an effort to
reduce path costs by optimizing new nodes that are potentially better than the beacon
position without having to do time-consuming sampling. Finally, the path correction is
conducted in the global looping once the lower 𝑑𝑖𝑟𝑒𝑐𝑡𝑐𝑜𝑠𝑡 is found.
3. PROPOSED METHOD – RRT*SMART-A* ALGORITHM
In a high-dimensional space, as a sampling-based algorithm, RRT is indeed better and
faster in finding the initial path. However, by observing more deeply, precisely by taking
random samples, the variance of the search time is so large that it has the potential to take
a long time to determine a feasible path. This is even more so in the narrow channel
scenario, which of course will take a lot of time, because each path is formed randomly
due to random sampling. It is this basis upon which RRT* is introduced. As previously
mentioned, the difference between the two is that there are two operations on the RRT*,
namely neighbors search and rewiring step after wiring step is done. The parent, which is
always updated every time a new node is generated, certainly makes RRT* have the
advantage of maintaining the optimality of the path. RRT*-Smart applies this to initial
path determination. However, this kind of determination requires a lot of time and memory
usage to achieve a truly optimal path. Accordingly, a new method with the name An
Integrated RRT*Smart-A* Algorithm is introduced in this paper.
Fig. 1: Flowchart of Proposed Method (An Integrated RRT*-Smart A* Algorithm)
275
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
As seen in Fig. 1, in addition to integrating two different approaches referring to the
proximity of the last exploration node to the goal node, conventional sampling techniques
in the early stages of RRT*-Smart were replaced with fast-sampling techniques. Instead of
expanding on a new exploration area, random sampling is not limited to the possibility of
falling on the explored area. This reason underlies the replacement of conventional
sampling with fast sampling. Where fast-sampling applies restrictions in generating
samples, random samples obtained will be rejected if their position is in the explored area,
and only random samples are in the new exploration area (see Fig. 2 and Algorithm 3 lines
7 up to 10).
Fig. 2: Illustration of Fast-Sampling Technique. The red circle is the explored area. When random node
𝑧𝑟𝑎𝑛𝑑1 falls on the explored area it is rejected and random sampling is repeated. When the random node
𝑧𝑟𝑎𝑛𝑑2 is obtained, the wiring and rewiring process is carried out.
Furthermore, new nodes 𝑧𝑛𝑒𝑤 formed during expansion will continue to be observed.
If it is close to the goal node 𝑧𝑛𝑜𝑑𝑒 , A* will take over determining this initial path. This
aims to minimize the consumption of expansion time in narrow channels (see Algorithm 4
from lines 21 to 24). Furthermore, when the initial path is obtained, all feasible nodes will
be directly connected by applying triangular equality. This application is intended to
shorten the path as an optimization step. Iteration in this process starts from 𝑧𝑔𝑜𝑎𝑙 and
moves to 𝑧𝑖𝑛𝑖𝑡 by observing the direct connection to the parent sequentially until the
connection of two different nodes is declared a collision on the obstacle. When the order
of observations reaches 𝑧𝑖𝑛𝑖𝑡 then no more nodes can be connected directly. To provide
clarity on this process Fig. 3 and Algorithm 4 are given (see Algorithm 3).
Fig. 3: The Principle of Triangular Inequality.
276
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
𝑨𝒍𝒈𝒐𝒓𝒊𝒕𝒉𝒎 𝟑. 𝑍𝑏𝑒𝑎𝑐𝑜𝑛𝑠 ← 𝑷𝒂𝒕𝒉𝑶𝒑𝒕𝒊𝒎𝒊𝒛𝒂𝒕𝒊𝒐𝒏(𝑻, 𝒛𝒊𝒏𝒊𝒕 , 𝒛𝒈𝒐𝒂𝒍 )
12. 1
𝑍𝑏𝑒𝑎𝑐𝑜𝑛𝑠 = [ ]
2
𝑧𝑛𝑏𝑒𝑎𝑐𝑜𝑛 = 𝑧𝑔𝑜𝑎𝑙
3
𝑎𝑑𝑑 𝑧𝑛𝑏𝑒𝑎𝑐𝑜𝑛 𝑡𝑜 𝑍𝑏𝑒𝑎𝑐𝑜𝑛𝑠
𝒇𝒐𝒓 𝒊 = 𝟐 𝒕𝒐 𝑙𝑒𝑛𝑔𝑡ℎ(𝑇) 𝒅𝒐
4
𝒊𝒇 𝑜𝑏𝑠𝑡𝑎𝑐𝑙𝑒𝐹𝑟𝑒𝑒(𝑧𝑛𝑏𝑒𝑎𝑐𝑜𝑛 , 𝑇(𝑖))
5
𝒄𝒐𝒏𝒕𝒊𝒏𝒖𝒆
6
𝒆𝒍𝒔𝒆
7
𝑎𝑑𝑑 𝑇(𝑖 − 1) 𝑡𝑜 𝑍𝑏𝑒𝑎𝑐𝑜𝑛𝑠
8
𝑢𝑝𝑑𝑎𝑡𝑒 𝑐𝑜𝑠𝑡 𝑜𝑓 𝑧𝑛𝑏𝑒𝑎𝑐𝑜𝑛
9
𝑧𝑛𝑏𝑒𝑎𝑐𝑜𝑛 = 𝑇(𝑖 − 1)
10
𝒆𝒏𝒅𝒊𝒇
11
𝒓𝒆𝒕𝒖𝒓𝒏 𝑍𝑏𝑒𝑎𝑐𝑜𝑛𝑠
12
𝒆𝒏𝒅𝒇𝒐𝒓
13
Along with getting this optimized path, the directcost will be calculated which will
then be compared each time pathOptimization is performed. Once this path optimization
occurs at the end of performance A* and will only repeat when the new directcost is better
than the previous one. At the same time, when two conditions are met, n, the sampling
bias variable, will be updated. Based on its magnitude and its relationship to the number of
iterations, a number of samples will be generated around 𝑍𝑏𝑒𝑎𝑐𝑜𝑛𝑠 as is the case with
RRT*-Smart in general. This is intended to reduce the path again as an effort to maintain
the optimality of the proposed method. Furthermore, this series of processes will be
repeated until the maximum value of the iteration is met. To clarify the series of this
process, Algorithm 4 is given as follows.
𝑨𝒍𝒈𝒐𝒓𝒊𝒕𝒉𝒎 𝟒. 𝑹𝑹𝑻∗ 𝑺𝒎𝒂𝒓𝒕 − 𝑨 ∗ 𝑨𝒍𝒈𝒐𝒓𝒊𝒕𝒉𝒎
1 𝑇 ← 𝐼𝑛𝑖𝑡𝑖𝑎𝑙𝑖𝑧𝑒𝑇𝑟𝑒𝑒( )
2 𝑇 ← 𝐼𝑛𝑠𝑒𝑟𝑡𝑁𝑜𝑑𝑒(∅, 𝑧𝑖𝑛𝑖𝑡 , 𝑇)
3 𝑖𝑛𝑖𝑡𝑖𝑎𝑙𝑃𝑎𝑡ℎ𝐹𝑜𝑢𝑛𝑑 = 𝑓𝑎𝑙𝑠𝑒
4 𝒇𝒐𝒓 𝑖 = 1 𝒕𝒐 𝑁 𝒅𝒐
5
𝒊𝒇 𝑖 = 𝑛 + 𝑏, 𝑛 + 2𝑏, 𝑛 + 3𝑏 … 𝒕𝒉𝒆𝒏
6
𝑧𝑟𝑎𝑛𝑑 ← 𝑖𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡_𝑠𝑎𝑚𝑝𝑙𝑖𝑛𝑔(𝑖, 𝑧𝑏𝑒𝑎𝑐𝑜𝑛 )
7
𝒆𝒍𝒔𝒆
8
𝑧𝑟𝑎𝑛𝑑 ← 𝑠𝑎𝑚𝑝𝑙𝑖𝑛𝑔(𝑖)
9
𝒘𝒉𝒊𝒍𝒆 𝑧𝑟𝑎𝑛𝑑 ∈ 𝑍𝑒𝑥𝑝𝑙𝑜𝑟𝑒𝑑
10
𝑧𝑟𝑎𝑛𝑑 ← 𝑠𝑎𝑚𝑝𝑙𝑖𝑛𝑔(𝑖)
11
𝒆𝒏𝒅𝒘𝒉𝒊𝒍𝒆
12
𝒆𝒏𝒅𝒊𝒇
13
𝑧𝑛𝑒𝑎𝑟𝑒𝑠𝑡 ← 𝑛𝑒𝑎𝑟𝑒𝑠𝑡(𝑇, 𝑧𝑟𝑎𝑛𝑑 )
14
(𝑧𝑛𝑒𝑤 , 𝑢𝑛𝑒𝑤 , 𝑇) ← 𝑠𝑡𝑒𝑒𝑟(𝑧𝑛𝑒𝑎𝑟𝑒𝑠𝑡 , 𝑧𝑟𝑎𝑛𝑑 )
15
𝒊𝒇 𝑜𝑏𝑠𝑡𝑎𝑐𝑙𝑒𝑓𝑟𝑒𝑒(𝑧𝑛𝑒𝑤 ) 𝒂𝒏𝒅 ~𝑖𝑛𝑖𝑡𝑖𝑎𝑙𝑃𝑎𝑡ℎ𝐹𝑜𝑢𝑛𝑑 𝒕𝒉𝒆𝒏
16
𝑧𝑛𝑒𝑎𝑟 ← 𝑛𝑒𝑎𝑟(𝑇, 𝑧𝑛𝑒𝑤 , |𝑉|)
17
𝑧𝑚𝑖𝑛 ← 𝑐ℎ𝑜𝑜𝑠𝑒𝑛𝑝𝑎𝑟𝑒𝑛𝑡(𝑧𝑛𝑒𝑎𝑟 , 𝑧𝑛𝑒𝑎𝑟𝑒𝑠𝑡 , 𝑧𝑛𝑒𝑤 )
18
𝑇 ← 𝑖𝑛𝑠𝑒𝑟𝑡𝑛𝑜𝑑𝑒(𝑧𝑚𝑖𝑛 , 𝑧𝑛𝑒𝑤 , 𝑇)
19
𝑇 ← 𝑟𝑒𝑤𝑖𝑟𝑒(𝑇, 𝑍𝑛𝑒𝑎𝑟 , 𝑍𝑚𝑖𝑛 , 𝑍𝑛𝑒𝑤 )
20
𝒊𝒇 𝑧𝑛𝑒𝑎𝑟𝑒𝑠𝑡 ∈ 𝑍𝑔𝑜𝑎𝑙
21
𝑇 ← 𝑎𝑠𝑡𝑎𝑟𝑡(𝑧𝑛𝑒𝑎𝑟𝑒𝑠𝑡 , 𝑧𝑔𝑜𝑎𝑙 )
22
277
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
23
24
25
26
27
28
29
30
31
32
33
34
35
𝑖𝑛𝑖𝑡𝑖𝑎𝑙𝑃𝑎𝑡ℎ𝐹𝑜𝑢𝑛𝑑 = 𝑡𝑟𝑢𝑒
𝑛←𝑖
𝒆𝒏𝒅𝒊𝒇
𝒆𝒏𝒅𝒊𝒇
𝒊𝒇 𝑖𝑛𝑖𝑡𝑖𝑎𝑙𝑃𝑎𝑡ℎ𝑓𝑜𝑢𝑛𝑑 𝒕𝒉𝒆𝒏
(𝑇, 𝑑𝑖𝑟𝑒𝑐𝑡𝑐𝑜𝑠𝑡) ← 𝑝𝑎𝑡ℎ𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑡𝑖𝑜𝑛(𝑇, 𝑧𝑖𝑛𝑖𝑡 , 𝑧𝑔𝑜𝑎𝑙 )
𝒊𝒇 (𝑑𝑖𝑟𝑒𝑐𝑡𝑐𝑜𝑠𝑡𝑛𝑒𝑤 < 𝑑𝑖𝑟𝑒𝑐𝑡𝑐𝑜𝑠𝑡𝑜𝑙𝑑)𝒕𝒉𝒆𝒏
𝑍𝑏𝑒𝑎𝑐𝑜𝑛𝑠 ← 𝑝𝑎𝑡ℎ𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑡𝑖𝑜𝑛(𝑇, 𝑧𝑖𝑛𝑖𝑡 , 𝑧𝑔𝑜𝑎𝑙 )
𝑛←𝑖
𝒆𝒏𝒅𝒊𝒇
𝒆𝒏𝒅𝒊𝒇
𝒓𝒆𝒕𝒖𝒓𝒏 𝑇
𝒆𝒏𝒅𝒇𝒐𝒓
4. RESULTS AND DISCUSSION
In this section, experimental results of different algorithms such as RRT*, RRT*Smart, and the proposed algorithm are presented. In this experiment, the three algorithms
were performed to solve the global path planning problem in some different environments
that consists of a narrow channel and several barriers. They are compared to each other in
terms of optimality and degree of convergence by observing the cost/distance from 𝑧𝑖𝑛𝑖𝑡 to
𝑧𝑔𝑜𝑎𝑙 number of iterations, respectively.
For the first scenario, the start node is in the field area and the goal node is in a certain
place. Before being tested, parameter equations were carried out to provide good
observations and comparisons. This parameter includes 𝑒𝑝𝑠 which is the distance allowed
to place a new node when the nearest node and a random node are given. In the first
scenario experiment, 𝑒𝑝𝑠 was set to 3 for both RRT*, RRT*-Smart, and RRT*-Smart-A*.
In addition, the parameter in determining the neighbor of the new node is also the same,
which is set to 𝑟𝑛 = 3. It should be noted that the second parameter is intended to provide
equalities in the rewiring process of the three algorithms.
The next parameter equalization is the parameter used only for RRT*-Smart and the
proposed algorithm, namely the beacon radius which is used for intelligent sampling
performance after the initial path is found and every time the direct cost improves. In the
experiment in this first scenario, the beacon radius is set equal to 𝑟𝑏𝑒𝑎𝑐𝑜𝑛 = 3. In detail,
the position of the start node and goal node are respectively at coordinates (5,5) and
(50,65) in an environment as shown in Figure 4. The complexity of the environment is not
so high, so all the algorithms compared have the ability to get the optimal path. And the
optimality of this path will be observed based on the cost of each iteration and its dynamic
value.
278
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
Fig. 4: Performance of RRT* Algorithm (1st Case).
Figure 4 shows a graphical result representing the performance of the RRT*
Algorithm. Generally, the RRT* has succeeded in determining the collision-free path from
𝑧𝑖𝑛𝑖𝑡 to 𝑧𝑔𝑜𝑎𝑙 . However, as shown in the graph and the cost value of 1360.3, the optimality
of RRT* is still lacking. This is strongly relevant to the underlying theory that using
simple random sampling the expansion of the nodes becomes diffuse and not centered. So,
it is reasonable for a limited number of iterations, interconnecting feasible nodes is not
enough to generate the optimal path.
Fig. 5: Performance of RRT*-Smart Algorithm (1st Case).
In the same case, the effect of using conventional sampling on the initial path
determination also makes RRT*-Smart take time to provide the optimal path. This is
because the path optimization time is getting narrower when RRT*-Smart works at a
limited time. This phenomenon can be seen in the need for repetition of 747 times in
finding the initial path (see Fig. 5). So, it is not surprising that the final solution with a
given cost of 95 can actually be increased if the application time of intelligent sampling is
279
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
sufficient. However, this performance is enough to prove that RRT*-Smart has better
optimality than RRT*.
Fig. 6: Performance of RRT*Smart-A* Algorithm.
Next in this first scenario, the RRT*-Smart A* Algorithm is performed. As shown in
Fig. 6, the proposed algorithms that involve fast-sampling only need 77 iterations to
explore from 𝑧𝑖𝑛𝑖𝑡 to 𝑍𝑔𝑜𝑎𝑙 . This achievement is ideal because it will provide a long
duration to apply intelligent sampling and path optimization to the next process. This can
be seen from the distribution of samples in the area near the beacon used to assist the path
optimization. Although the path optimization is not intended to repair the offered path of
A, the cost is 93, it is enough to prove that in term of optimality the proposed method is
better than RRT* and RRT*-Smart. Additionally, the number of nodes generated in a
finite duration implies that optimization can occur iteratively, so the potential for
generating shorter paths is possible.
Fig. 7: Performance of RRT* Algorithm (2nd Case).
Figure 7 shows a graphical result representing the performance of the RRT* Algorithm for
the second scenario. It can be seen from Fig. 7, the RRT* needs more than 8000 iterations
280
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
to get initially optimal path before it is optimized. This situation shows that the RRT*
algorithm does not have ability or is improper to solve the environment with narrow
channel. Besides that, it can be seen from the path cost after optimization, the cost is high.
It represents that its optimality is still lacking for this second case.
Fig. 8: Performance of RRT*-Smart Algorithm (2nd Case).
Since the conventional sampling is used for obtaining the initial path, the RRT*-smart
has the similar level for its convergence speed as RRT*. It indicates that the convergence
rate of RRT*-smart strongly depends on the initial sampling method. As can be seen from
Fig. 8, unfortunately the RRT*-Smart does not obtain the initial path even if the number of
iterations is increased and the number of nodes reaches more than 4000 nodes. For this
inconsistency and limitation, the RRT*-Smart improves by replacing the conventional
sampling with a fast sampling in the second case. Graphically its performance can be seen
as follows.
Fig. 9: Performance of RRT*-Smart with A Fast Sampling (2nd Case).
Referring to Fig. 9, the RRT*-Smart with a fast sampling is also limited. It can be
observed based on the number of iterations and the iteration indicating the initial path
281
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
found. The diversity between these values represents that the optimization, which is an
advantage of RRT*-Smart, has a short duration. Therefore, the generated nodes have small
number compare to RRT* or its predecessor. For this reason, the proposed method is
introduced and its performance can be presented as follows.
Fig. 10: Performance of RRT*-Smart-A* Algorithm (2nd Case).
It can be seen from Fig. 10, the proposed method finds the initial path in the iterations
of 2643 within 6000 iterations. It indicates more than 3000 iterations that are allocated for
optimization only. This small number of iterations also implies that the proposed method
has a better convergence speed than its predecessor. Next, although the cost is high
compared to its predecessor, it is only because of the dynamicity of the exploration
process. Therefore, in terms of convergence rate and optimality, the proposed method is
validated by this result.
5.
CONCLUSION
Due to the limitation of RRT*-Smart when it is used in environments containing some
narrow channels, the conventional sampling is improper. For this reason, it is improved by
replacing the conventional sampling with A* sampling. Moreover, if a wide enough time
frame is provided for its optimization, it is integrated with the A* algorithm. Henceforth, it
is called An Integrated RRT*Smart-A* Algorithm. It is used to solve the global path
planning problem. By comparing with its predecessors, RRT* and RRT*-Smart, the
proposed method has shown better efficiency in terms of convergence rate and optimal
cost.
ACKNOWLEDGEMENT
This research is supported by Universitas Mercu Buana.
REFERENCES
[1]
Satapathy SC, Biswal BN, Udgata SK, Mandal JK. (2014). Proceedings of the 3rd
International Conference on Frontiers of Intelligent Computing: Theory and Applications
(FICTA) 2014. Advances in Intelligent Systems and Computing, 327: 175-183.
https://doi.org/10.1007/978-3-319-11933-5.
282
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
Adriansyah A, Suwoyo H, Tian Y. (2019). Jurnal Teknologi IMPROVING ROBOT. 3: 119126.
Tian Y, Suwoyo H, Wang W, Li L. (2019). An ASVSF-SLAM Algorithm with TimeVarying Noise Statistics Based on MAP Creation and Weighted Exponent. Mathematical
Problems in Engineering, 2019(1): 1-17. https://doi.org/10.1155/2019/2765731.
Al-Mutib K, Faisal M, Alsulaiman M, Abdessemed F, Ramdane H, Bencherif M. (2017).
Obstacle avoidance using wall-following strategy for indoor mobile robots. 2016 2nd IEEE
International Symposium on Robotics and Manufacturing Automation, ROMA 2016, 1-6.
https://doi.org/10.1109/ROMA.2016.7847817.
Siegwart, R., Nourbakhsh, I. R., & Scaramuzza, D. (2011). Introduction to autonomous
mobile robots. MIT press.
Kümmerle, R. (2013). State estimation and optimization for mobile robot navigation
(Doctoral dissertation, Verlag nicht ermittelbar).
Jeong IB, Lee SJ, Kim JH. (2019). Quick-RRT*: Triangular inequality-based
implementation of RRT* with improved initial solution and convergence rate. Expert
Systems with Applications, 123: 82-90. https://doi.org/10.1016/j.eswa.2019.01.032.
Baglivo L, Bellomo N, Miori G, Marcuzzi E, Pertile M, Cecco MDe. (2008). An object
localization and reaching method for wheeled mobile robots using laser rangefinder. 2008
4th International IEEE Conference Intelligent Systems, IS 2008. 1. 5-6.
https://doi.org/10.1109/IS.2008.4670429.
Chen W, Qin H. (2011). Path planning of mobile robot based on hybrid cascaded genetic
algorithm. Proceedings of the World Congress on Intelligent Control and Automation
(WCICA), 501-504. https://doi.org/10.1109/WCICA.2011.5970564.
Kim T, Wang Y, Sahinoglu Z, Wada T, Hara S, Qiao W. (2014). State of charge estimation
based on a realtime battery model and iterative smooth variable structure filter. IEEE
Innovative Smart Grid Technologies - Asia, ISGT ASIA 2014, 132-137.
https://doi.org/10.1109/ISGT-Asia.2014.6873777.
Mashayekhi R, Idris MYI, Anisi MH, Ahmedy I, Ali I. (2020). Informed RRT∗-Connect: An
Asymptotically Optimal Single-Query Path Planning Method. IEEE Access, 8: 1984219852. https://doi.org/10.1109/ACCESS.2020.2969316.
Qureshi AH, Ayaz Y. (2016). Potential functions based sampling heuristic for optimal path
planning. Autonomous Robots, 40(6): 1079-1093.
https://doi.org/10.1007/s10514-015-9518-0.
Perez A, Karaman S, Shkolnik A, Frazzoli E, Teller S, Walter MR. (2011). Asymptoticallyoptimal path planning for manipulation using incremental sampling-based algorithms. IEEE
International Conference on Intelligent Robots and Systems, 4307-4313.
https://doi.org/10.1109/IROS.2011.6048640.
Yi G, Zhou C, Cao Y, Hu H. (2021). Hybrid assembly path planning for complex products
by reusing a priori data. Mathematics, 9(4): 1-13. https://doi.org/10.3390/math9040395.
Chen J, Zhao Y, Xu X. (2021). Improved RRT-Connect Based Path Planning Algorithm for
Mobile
Robots.
IEEE
Access,
9:
145988-145999.
https://doi.org/10.1109/ACCESS.2021.3123622.
Nasir J, Islam F, Malik U, Ayaz Y, Hasan O, Khan M, Muhammad MS. (2013). RRT*Smart: A rapid convergence implementation of RRT*,. International Journal of Advanced
Robotic Systems. https://doi.org/10. 299. 10.5772/56718.
Liao B, Wan F, Hua Y, Ma R, Zhu S, Qing X. (2021). F-RRT*: An improved path planning
algorithm with improved initial solution and convergence rate. Expert Systems with
Applications. 184. 115457. 10.1016/j.eswa.2021.115457.
Mashayekhi R, Idris MYI, Anisi MH, Ahmedy I. (2020). Hybrid RRT: A semi-dual-tree
RRT-based
motion
planner.
IEEE
Access,
8:
18658-18668.
https://doi.org/10.1109/ACCESS.2020.2968471.
Noreen I, Khan A, Habib Z. (2016). A Comparison of RRT, RRT* and RRT*-Smart Path
Planning Algorithms. IJCSNS International Journal of Computer Science and Network
Security, 16(10): 20-27.
http://cloud.politala.ac.id/politala/1. Jurusan/Teknik
Informatika/19. e-journal/Jurnal Internasional TI/IJCSNS/2016 Vol. 16 No. 10/20161004_A
283
IIUM Engineering Journal, Vol. 24, No. 1, 2023
Suwoyo et al.
https://doi.org/10.31436/iiumej.v24i1.2529
Compar ison of RRT, RRT and RRT - Smart Path Planning Algorithms.pdf
[20] Islam F, Nasir J, Malik U, Ayaz Y, Hasan O. (2012). RRT*-Smart: Rapid convergence
implementation of RRT* towards optimal solution. 2012 IEEE International Conference on
Mechatronics
and
Automation,
ICMA
2012,
1651-1656.
https://doi.org/10.1109/ICMA.2012.6284384.
[21] Noreen, I., Khan, A., Asghar, K., & Habib, Z. (2019). A Path-Planning Performance
Comparison of RRT*-AB with MEA* in a 2-Dimensional Environment. Symmetry, 11(7),
945. MDPI AG. Retrieved from http://dx.doi.org/10.3390/sym11070945.
[22] Prince, C.G. (2004). Book Review: Computational Principles of Mobile Robotics. Minds
and Machines 14, 407–414. https://doi.org/10.1023/B:MIND.0000035501.55990.99.
[23] Barfoot, T. (2017). State Estimation for Robotics. Cambridge: Cambridge University Press.
https://doi.org/10.1017/9781316671528.
[24] Fernández-Madrigal J-A. (2012). Simultaneous Localization and Mapping for Mobile
Robots: Introduction and Methods. IGI global. https://doi.org/10.4018/978-1-4666-2104-6.
[25] Gao Z, Mu D, Zhong Y, Gu C, Ren C. (2019). Adaptively Random Weighted Cubature
Kalman Filter for Nonlinear Systems. Mathematical Problems in Engineering. 2019. 1-13.
10.1155/2019/4160847.
[26] Kocijan, J. (2016). Modelling and control of dynamic systems using Gaussian process
models (pp. 33-38). Cham: Springer International Publishing .https://doi.org/10.1007/978-3319-21021-6.
[27] Ni J, Wang K, Huang H, Wu L, Luo C. (2016). Robot path planning based on an improved
genetic algorithm with variable length chromosome. 2016 12th International Conference on
Natural Computation, Fuzzy Systems and Knowledge Discovery, ICNC-FSKD 2016, 145149. https://doi.org/10.1109/FSKD.2016.7603165.
[28] Magzhan K, Jani H. (2013). A Review And Evaluations Of Shortest Path Algorithms.
International Journal of Scientific & Technology Research, 2(6): 99-104.
http://www.ijstr.org/final-print/june2013/A-Review-And-Evaluations-Of-Shortest-PathAlgorithms.pdf.
[29] Rachmawati D, Gustin L. (2020). Analysis of Dijkstra’s Algorithm and A* Algorithm in
Shortest Path Problem. Journal of Physics: Conference Series. 1566. 012061.
https://doi.org/10.1088/1742-6596/1566/1/012061.
284