Robot Path Planning Using Dynamic Programming With Accelerating Nodes
Robot Path Planning Using Dynamic Programming With Accelerating Nodes
Robot Path Planning Using Dynamic Programming With Accelerating Nodes
Received 2011/09/11
Keywords
Accepted 2012/01/26
path planning · dynamic programming · artificial neural networks · A* · robotics · heuristics
23
PALADYN Journal of Behavioral Robotics
Lebedev et al. [4] used a type of neural network called dynamic wave search is performed. Change in the robotic map leads to re-planning
expansion neural network for the e cient and optimal planning of the and cost modification of nodes. Hierarchical planning may also be car-
robot in a real time environment. Here every grid is a neuron that propa- ried out using D* as presented in [16]. These algorithms perform well
gates some activity to the other nearby neurons or grids. The obstacles in dynamic environments with small changes in map, for which they are
and goals are clearly identified by the activity they propagate. The robot best suited. For cases of a path blockage there is a completely new
motion is computed by measuring this activity, which is driven by the path which needs to be determined. In such cases computational re-
intrinsic neuron equations, also referred to as the shunting equations. quirements are very large, which may require the robot to wait while a
The model proposed avoided the robot oscillating in certain likely situ- new path is sought. Blockage completely changes all costs, and hence
ations. In turn, the robot was made to remain stationary and wait for the computations prior to blockage have less use after the blockage
a new activity being propagated by the network. All these approaches scenario.
cannot perform well in case of blockages unless the update frequency Another popular mechanism to handle the problem of a large number of
is very high, which demands very high computational requirements. nodes is to sample out some nodes for the planning purpose. Rapidly-
The only way of sensing and acting in response to blockages is through exploring random trees (RRT) [17, 18] are widely used for this purpose.
the activity of neurons. This may lead the robot to come very near to the They start the search process by using the source as the root of a tree-
blockage and it may then have to back track its path, which is clearly like data structure. Search proceeds by expansions of the tree structure
sub-optimal. until a goal is found. Recent works includes use of multiple RRTs and
DP principles are also used in numerous graph search algorithms abun- combining them to produce optimal results [19]. It is di cult to pass
dantly used for robotic planning. Literature points to extensive use of through narrow passages using these sampling based approaches for
A* algorithm [5] which is additionally guided by heuristics to direct the which a better sampling technique was proposed in [20].
search process towards goal. The various points on the map corre- Another popular sampling based method is probabilistic roadmaps
spond to the nodes of the A* algorithm, with weighted connections be- (PRM) [21, 22] where random samples are drawn out from the en-
tween two neighboring nodes if the robot can directly move between tire map and connectivity is determined by a local search algorithm.
these nodes. The weights correspond to the Euclidean distances be- Once formulated, the map may be made adaptive as per the chang-
tween the nodes. The A* algorithm considers both historic as well as ing environments [23]. Similarly, the local search may be performed
heuristic cost to find the path between the source and the destination. on a coarser level before checking on a finer level, as most con-
It keeps expanding the nodes until the destination node is reached. nections are collision prone which may be easily found at a coarser
Heuristics make the algorithm computationally less expensive; however level [24]. Clark [25] presented a PRM solution for robot planning and
in case of a blockage the only thing that can be done is to re-calculate control where multiple robots could communicate and build a complete
the path. This means the robot has to wait for some time while the path roadmap.
is re-computed. In DP however the extra computations are a source of Sampling based approaches are able to come up with a travel plan
blockage detection and alternative path buildup, which justifies its high early, which may be used post detection of blockage. However this
initial computational cost. leaves the question unanswered of how blockages would be detected,
Both DP and graph search based techniques have a common problem which is a big problem in itself. Further sampling based approaches
of having a large number of nodes or high complexity which restricts would start afresh the task of building up an alternative path. This
their use in real time systems. An alternative is to use a multi-resolution means a greater time as compared to our notion of accelerating nodes.
approach where the map is represented at multiple resolutions and a Also these approaches return sub-optimal paths. Hence the complete
planning algorithm may start the search process on a higher resolution motion of the robot cannot be done by the results generated by these
and query lower resolutions if needed. Commonly used representa- algorithms.
tions include Quad Tree [6], Mesh [7] and Pyramid [8]. Another repre- O’ Hara [26] presents another unique algorithm that works at the hard-
sentation is the framed quad-tree representation [9]. In this approach ware level with embedded systems. Here multiple sensors are embed-
every grid is additionally broken into a number of unit sized grids that ded in the map which communicate with each other and propagate
surround the main grids. This representation gives the capability to the distances to the goal. The robot simply queries the sensors and
generate more flexible paths, at the same time limiting the number of moves. A similar approach was used by Yao and Gupta [27] where
grids for easy execution. each sensor was a local planning agent whose role was to guide the
Kala et al. [10] used a similar approach of multi-resolution maps. Plan- robot to the nearest sensor such that the robot advances towards the
ning was initiated at the lower resolution and upon receiving a valid goal along a shortest path. These approaches are naturally better as
path, the resolution along areas of returned path was increased. Graph they can rapidly detect blockages and plan an alternative path. How-
search was done using Multi-Neuron Heuristic search [11, 12], which is ever for these approaches to be applied it is important that the map
an advancement over the conventional A* algorithm. In another recent already has sensors embedded. This restricts planning to some spe-
approach, multi-resolution based planning is presented [13] where the cific application areas and further may involve higher costs.
planning algorithm used is Lifelong A* algorithm (LPA*) [14]. The basic The basic purpose behind the use of DP with accelerating nodes is
idea behind these approaches is quick computation of a path in case that some extra computation (while the robot is moving) can be used
of blockage. Since the map is assumed to be of high resolution, the for rapid development of an alternative path in case of blockages. This
computation of a path using these hierarchical approaches may also enables the algorithm to handle the cases of blockages better. While
take time, resulting in the robot waiting. When a blockage is detected, the robot is traveling, most planning approaches would have no com-
the algorithm needs to initiate the process of constructing the path right putation except a small validation phase to check the validity of the
from the start. In DP with accelerating nodes, many of the computa- path being followed. While the robot travels at its pace, some amount
tions of the previous iterations can be used to give an approximate of computations may be performed. It is here that we monitor and
path for immediate traversal of the robot. Further, solely using these store map state as computed by all the nodes and accelerating nodes.
approaches means a robot traveling on a sub-optimal path provides a These computations help in case of blockages.
computational speedup at the cost of minimal loss of optimality. The problem considered is path planning of a mobile robot. The plan-
The D* [15] algorithm is the dynamic variant of the A* algorithm. Here ning especially needs to be near-optimal and computationally less ex-
the planning starts with an o ine phase where heuristic guided graph pensive in scenarios of blockages. Since the map is dynamic and may
24
PALADYN Journal of Behavioral Robotics
constantly change, the optimality of any travel plan cannot be guaran- gion of the map with obstacles (ζ free = ζ – ζ obs ). The obstacles may be
teed, although for static maps the planned path is optimal. It is as- static, where the position of the obstacles does not change over time,
sumed that the map is of high resolution. Further it is assumed that leading to a constant map ζ free ; or they may be dynamic where the po-
free
computation is limited and hence the maximum number of calculations sition of obstacles changes over time, leading to a dynamic map
(∪ ) ζ (t).
per step of the robot needs to be limited. The problem is to come up with a path τ c (x(c), y(c)) which the
The contributions of the work are: (i) We propose new nodes called robot may use for navigation without colliding with any of the obstacles
accelerating nodes in the conventional structure of the DP, which work or (x (c ),y (c ))∈ζ free (c ). Here (x (c ), y (c )) denotes the planned position
at a coarser map, while the normal nodes work at a finer level. (ii) We of the robot at time c (≥ t ) knowing the map (ζ free (t)) at the time the
state a mechanism to deal with the problem of blockages consisting plan was generated (say t ). While t denotes the global time, c denotes
of blockage detection, alternative path buildup, and optimal path re- the time an action is scheduled to take place in the future. We assume
buildup. (iii) Through simulations we show the ability of DP to handle that there is only one source (S = τ(0) = (x(0), y(0))) and one des-
cases of moving obstacles, moving targets and blockages, generating tination (G = τ(T ) = (x(T ), y(T ))) both of which are given, and the
near-optimal trajectories. aim of the robot is to reach the destination starting from the source. T
This paper is organized as follows. The problem of this work is for- is the time in which the robot is projected to reach the given destina-
mally introduced in Section 2. In Section 3 we briefly summarize the tion. The entire path generated by the algorithm needs to be optimal in
Dynamic Programming paradigm, discuss the problems with DP and terms of length, so the objective is to minimize ||τ ||.
present the concept and working of the accelerating nodes. The mon-
itoring of changes and working of the algorithm in a dynamic scenario Changes in the environment may be sudden or gradual. Let O be the
is explained in Section 4. Section 5 presents the simulation results. set of obstacles and area (t, o) be
∪ the region of the map occupied by
Section 6 gives the concluding remarks. obstacle o at time t, such that o∈O area(t, o) = ζ obs (t). Sudden
environment changes may be caused in real life by various factors such
2. Problem Formulation as an obstacle rapidly∪entering the map or emerging somewhere in the
map (O (t +1) = O (t ) o ), or an obstacle suddenly leaving the map
Map (donated by ζ ) of size m x n is assumed to be already known. or disappearing from somewhere in the map (O (t +1) = O (t ) - o ), or
Each cell of this map (x, y ) ∈ ζ , 1 ≤ x ≤ m, 1 ≤ y ≤ n, corresponds to two obstacles blocking the space between them (Blockage(o1 ,o2 ,t )),
a navigable area ((x,y )∈ ζ free ), or an obstacle ((x,y )∈ ζ obs ). Here ζ free or two obstacles clearing the way between them (Clear (o1 ,o2 ,t )), etc.
denotes the region of the map free of obstacles and ζ obs denotes the re- Here the two functions are given by equation 1 and equation 2
( ∩ ∩ )
Blockage(o1 , o2 , t) = Boundary(t + 1, o1 ) Boundary(t + 1, o2 ) ̸= ϕ ∧ Boundary(t, o1 ) Boundary(t, o2 ) = ϕ (1)
( ∩ ∩ )
C lear(o1 , o2 , t) = Boundary(t + 1, o1 ) Boundary(t + 1, o2 ) = ϕ ∧ Boundary(t, o1 ) Boundary(t, o2 ) ̸= ϕ (2)
Boundary (o) represents the boundary of an obstacle o. The sudden navigate. This results in invalidating the(∪present path and engineering
)
∗ ∗
changes are very di cult to incorporate in many implementations of a new path by the algorithm. Let τ *(t ) c (x (t, c), y (t, c)) denote
path planning algorithms since we may not be able to reuse many of the the optimal path at time t using a static map which appears as ζ free (t ).
properties of solutions from the previous time step in the next time step. In such scenarios ||τ *(t +1) - τ *(t ) ||> ε2 for small ε2 . In the same
Sudden changes at many times may be equivalent to re-calculating the example consider a car covering the entire road. Now you may need to
entire robotic path. This is di cult and in many cases time consuming. choose another road in order to reach the destination. A path planning
The e ect of gradual changes to a map may not be that large which algorithm in a dynamic environment is supposed to cater to the needs
may be caused by gradual movements of the obstacles (equation 3) or of all these situations.
similar reasons.
The purpose behind the algorithm is e cient planning in cases of block-
ages. This emphasizes that the algorithm is quickly able to detect
||Boundary(t + 1, o) − Boundary(t, o)|| blockages and quickly direct the robot to move, by the optimal path
considering the map after the blockage.
< ε1 ¬Blockage(o, o1 )∀o1 ∈ O (3)
25
PALADYN Journal of Behavioral Robotics
26
PALADYN Journal of Behavioral Robotics
27
PALADYN Journal of Behavioral Robotics
Z = z:D(z, Qj , i) + V − z
≤ D(k, Qj , i) + V − k ∧ z, k ∈ δ(V )∀k ̸= z (11)
S(V , Qj , i + 1) = Z
Figure 3. Map showing change in optimal path due to sudden environment
S(V , Qj , 0) = null ∀V ∈ ζ (12) change.
In such a way |Q| accelerating nodes may be visualized as |Q|+1 would occur if a moving obstacle causes a blockage. Now we need to
agents (|Q| accelerating nodes and 1 target) propagating their dis- use the information stored in the accelerating nodes for computation of
tances. Each node V has to store |Q|+1 distances. In this manner the a strategy to overcome this problem.
computational cost for each update of DP increases with an increase Figure 4 depicts the overall procedure of working in the case of dynamic
in the number of accelerating nodes. environments. The first step is to compute the initial values of the DP
The major di erence between the target and accelerating nodes is that (D (V,Qj ,i ) and D (V,G,i ) ) and the successor (S (V,Qj ,i ) and S (V,G,i )
Q
the maximum distance Dmax for these nodes is much less than that of ) of all nodes V. Then the robot starts its journey and keeps moving
Q at every instant of time based on the successor of the node. Let R (t )
Dmax of the target (Dmax < Dmax ). This is done to restrict the view of
be the position of the robot at time t. The robot moves towards the
all nodes to the nearby accelerating nodes only, rather than having all
node S (R (t ),G,i ) where the motion continues. The robot terminates
accelerating nodes within their view and computation. Hence, as we
if S (R (t ),G,i ) is null denoting reaching the target (G ). As the robot
move a considerable distance from the accelerating nodes, their e ect
Q moves, the DP iterations continue (equation 4, 5, 6, 7, 10, 11, and 12)
reduces and all other nodes outside a range of Dmax take the maximal wherein a change in values is observed in the case of a change of the
possible value. map ζ free (t ). Each accelerating node (Qj ) monitors for any loss of con-
Two accelerating nodes Qj and Qk are said to be connected to each nectivity with other neighboring accelerating neurons. If a blockage is
other if ||Qj - Qk ||< Th, where Th is a threshold governing connectiv- detected (Blockage(Qj , Qk )), an alternative path (Path) is built us-
ity. The connections are preferred to be local only, or in other words ev- ing graph search which uses the accelerating node graph as the input.
ery accelerating node is connected to a few accelerating nodes around After necessary iterations of DP have been reached, the robot termi-
it. Let D *(Qj , Qk ) denote the stable value of D (Qj , Qk , i ) (beyond nates its motion along the alternative path and continues along the DP
which any number of updates do not produce any change) which is the path. The algorithm ends when the target is reached. Each part of this
optimal distance between the nodes Qj and Qk . In case of any change concept is discussed in the next subsections.
in the environment the maximum number of DP iterations needed to
ensure that value of D (Qj , Qk , i ) is stable or optimal in value is equal
to D *(Qj , Qk ), as per the modified map. This value has a threshold 4.1. Monitoring Change
Q
ofDmax . Hence the maximum number of iterations needed to deter-
The first requirement is to monitor the changes in the map that may
mine a loss of connectivity between 2 accelerating nodes or to detect
Q cause a blockage between any segments of the map. Monitoring of
a blockage is Dmax . the map is performed by the accelerating nodes. Upon detection of a
Q
The value Dmax is chosen such that it is small enough to detect any blockage alternative path construction takes place. Only the segments
change in the environment reasonably early and large enough to imply in the way of the current path (τ ) are of interest. Each node V of the
a high connectivity between nodes (which results in the production of map knows the distances from itself to the target as well as the accel-
better alternative paths in case of a blockage). In this paper with uni- erating nodes. Consider any two accelerating nodes Qj and Qk . The
formly distributed accelerating nodes this value is chosen to facilitate distance between these accelerating nodes D (Qj , Qk , i ) is computed
connectivity to the 2nd accelerating node. Alternative methods may be by the DP updates. In the case these nodes are far apart from each
formulated as well. Accelerating node connectivity is shown by the cir- Q
other the distance would be Dmax . Suppose we make a series of J
cle for one accelerating node in Figure 2. iterations of DP. A blockage between two segments covered by accel-
erating nodes Qj and Qk is identified by a constant increase in D (Qj ,
Q
Qk , i ) along with iterations until it reaches a maximum value of Dmax .
4. Dynamic Environment Changes Every time equations 10 and 11 are executed in a single DP iteration in
case of a blockage, the distance D (Qj , Qk , i ) is increased. Blockages
In a static environment the algorithm is a simple DP solution to the prob- are checked by using equation 13.
lem. The novelty in the use of accelerating nodes lies in the scenario
when the map changes in a manner resulting in a change in the optimal
path due to blockage. Consider Figure 3. The light region is the ob- Blockage(Qj , Qk ) = (D(Qj ,
stacle that suddenly appears in the map. As a result the optimal path
when the robot is at position A suddenly changes. A similar scenario Qk , i + J) − D(Qj , Qk , i) > U) (13)
28
PALADYN Journal of Behavioral Robotics
DP Initialization
Robot Movement
DP Update Iterations
Monitor Changes
Change Target
Yes
Path A* Algorithm
Change?
No
Yes
Target
Change
Criterion?
No
Figure 5. Generation of an alternative path by graph search algorithm.
No
Target
Reached?
29
PALADYN Journal of Behavioral Robotics
Q
only store local information. Since the number Dmax is small, the con-
Q
nectivity information about nodes may be relied on after Dmax iterations
at the maximum. This ensures that on detecting a blockage, the in-
put graph to the graph search algorithm is correctly incorporating all
Q
changes which have taken place earlier than Dmax DP updates.
5. Results tial setup phase occurred in the algorithm before the robot could start
moving. During this time the target propagated the distances to the
various nodes in the map. Thereafter the robot started moving. After
The algorithm was implemented using a simulation engine imple-
the start of the robotic movement, update cycles of the DP continued.
mented in JAVA. The simulation engine used JAVA Applets for the dis-
However no change was made in these updates as the environment
play of the map, obstacles and the robot movement. The map was
was completely static.
given as a JPEG image. Sudden obstacle changes were simulated by
In the second case we moved the target as the robot moved in the map.
giving multiple images to the simulation agent and loading the needed
We know that the robot can always catch the target if the speed of mo-
image at a given time. The algorithm was implemented as a separate
tion of the robot is greater than that of the motion of the target. Hence
module in the simulation. This implemented the DP with all acceler-
the simulation was run keeping the speed of the target half of that of
ating nodes. All simulations used maps of size 100×100 pixels. The
the robot. At every instance of time the robot tried to chase the target.
source is the top left corner of the map and the destination is the bot-
While doing so the robot also avoided the obstacles that appeared in
tom right corner. The simulations were carried on a 3.0 3.0 Core 2 Duo
its path. The target moved in a straight line that was predefined. The
processor with 4 GB RAM.
simulation result for this problem has been given in Figure 7. The cir-
The entire algorithm has many parameters that we analyze one by one.
cles denote the accelerating nodes. The motion of the target has been
These include the number of accelerating nodes, number of iterations
shown by the dashed line. It can clearly be seen that the robot was not
of the update cycle, and maximum distance of accelerating nodes. We
only able to catch the target, but the entire path length was also opti-
even discuss the trade-o in time and path length in the next sub-
mal. During the course of the run, the value of the DP changed multiple
sections.
times. However no blockage was detected by the algorithm.
The next experiment analyzed the behavior in case of moving obsta-
5.1. Path Optimality cles. Obstacles were moved while the robot was traveling from the
source to the goal. The robot was now supposed to reach the tar-
We first study the optimality of the path for various maps. We provided get and at the same time avoid the moving obstacles. The avoidance
various maps and used the stated algorithm to solve the problem. In of obstacles was di cult because of the fact that they came between
all the test cases that we supplied, the algorithm was able to generate the source and the target in the path of the robot. We gave two kinds
optimal paths. In the first case we took a static map. There was no of motions and maps for the simulation purposes. In the first simula-
movement of the target or obstacles. This was done to see the path tion we observed that the robot was able to catch the target using an
finding capability of the algorithm in static conditions. The map and optimal path, and at the same time avoid the obstacles. However no
the path generated by the algorithm are shown in Figure 6. The accel- blockage was detected. The obstacles moved at half the speed of the
erating nodes are shown by circles in the map. Here it can easily be robot. This is shown in Figure 8(a), (b), (c) and (d) at timestamps of
seen that the algorithm gave an optimal path as the final result. An ini- 20, 120, 158 and 174 respectively. The initial position of the moving
30
PALADYN Journal of Behavioral Robotics
Figure 8. Map and path traced by robot in case of moving obstacle after (a)
20 timestamps, (b) 120 timestamps, (c) 158 timestamps, (d) 164 (a) (b)
timestamps.
Figure 10. Map and path traced by robot in case of sudden obstacle emer-
gence causing path blockage (a) before obstacle emergence (b) at
the end of journey.
obstacle is shown by empty boxes and instantaneous position by filled
boxes. It may be easily noted that the robot showed behaviors of nor-
mal human walk. The robot arrived at the top of the first obstacle when
the destination was on the other side. These facts caused it to wander pletely blocked. The original map and part of the path traced is given in
around for some time as the obstacle moved as shown in Figure 8(a). Figure 10(a). At this instance sudden obstacle occurrence took place
The obstacle moved rightward and the robot struggled for a diagonal which blocked the path. The path thereafter is given in Figure 10(b).
movement at the 120th timestamp given in Figure 8(b). The obsta- It may be seen that accelerating nodes helped as the robot did not go
cle was completely passed at timestamp 158 as shown in Figure 8(c). very close to the obstacle.
Then the robot could easily rush through to find the second obstacle
which it passed in a similar manner as given in Figure 8(c). The final
positions of the robot, obstacles and path are given in Figure 8(d). 5.2. Algorithmic Analysis
This second path witnessed a path blockage, and the accelerating One of the major parameters of the algorithm that largely contributes to-
nodes were put to use. The robot now completely changed direction in wards the algorithmic novelty is the total number of accelerating nodes
the middle of its journey and used some other path when the blockage (|Q |) in the algorithmic execution. In this section we try to analyze
happened. This case is shown in Figure 9. It may be easily noticed and verify the e ect of increasing or decreasing the number of accel-
that the accelerating nodes helped in early detection of the blockage erating nodes. A high number of nodes in the map has a multiplicative
and hence the robot did not go very close to the obstacle that caused increase in the execution time of the algorithm. This is because of the
the blockage. The obstacle traveled downwards as the robot moved. multiple processing of the distances propagated by each and every ac-
When the robot was very near to the turn it made (as shown in Figure 9), celerating node. Further a high number of nodes mean a greater time
blockage occurred which was quickly detected. The robot hence took of execution in building of an alternative path by graph search. Since all
the alternate path. this happens in real time, the e ects may be adverse. The robot would
The most innovative part of the algorithm is its capability of handling have to traverse slowly as well as wait for the alternative path to build
the sudden occurrence of an obstacle that causes a blockage of the in case of a blockage. The advantage of having a larger number of ac-
path from the source to the destination. As a result of this change, celerating nodes is in optimality of the alternative path generation. The
the complete path of the robot needs to be re-calculated in real time. larger the number of accelerating nodes, the better the path returned
The accelerating nodes are again useful in detecting the blockage and by the graph search algorithm due to more information being available
optimally moving the robot using good moves until the actual path is from the various nodes. This would have two benefits. Firstly the al-
re-calculated by the DP algorithm. Here we took a map and made the gorithm would be able to account for small obstacles and blockages
robot move. As soon as the robot was somewhere in the middle of the in the map that a ect the path. Secondly the path of the graph search
journey, an obstacle was placed that caused its path to become com- algorithm would be close to the optimal path. Hence until the algorithm
31
PALADYN Journal of Behavioral Robotics
Figure 13. Path traced by robot for increasing number of dynamic programming
Figure 11. Path traced by robot for increasing number of accelerating nodes. update iterations.
Figure 12. E ect of number of accelerating nodes on time of execution. Figure 14. E ect of dynamic programming number of update iterations on time
of execution.
builds the distance values by DP iterations, the robot would be traveling We further analyze the contribution of this parameter to the overall path
by a path which very closely resembles the optimal path of the modified of the robot and the corresponding execution times. It is natural that the
map. increased number of iterations in between robot moves would mean an
Figure 11 shows the paths for various numbers of accelerating nodes increase in computation time. This is because of the extra number of
for the case of the sudden appearance of an obstacle. It may be easily iterations or updates. The advantage would however be the decrease
seen that in all cases the robot moved from the initial point to the point A in time in which information regarding the blockage takes to reach the
using the target DP values. As soon as the point A was reached, the in- nodes. A larger update frequency would result in more flow of infor-
formation regarding the sudden blockage was received. This is the time mation per move and as a result the information regarding blockages
that the alternative path was computed and followed. The closeness would be readily available before the robot makes many moves. Sim-
of the computed alternative path to the optimal path decreased as we ilarly, the larger update frequency would allow the robot to catch up
decreased the number of accelerating nodes. This can be easily seen with the conventional DP algorithm reasonably early and continue its
from the various paths in Figure 11. Point B in the same figure denotes journey for the rest of the path.
when the algorithm reverts back to the normal DP algorithm. The cor- Figure 13 shows the path traced by the robot for various update fre-
responding execution times used by the robot are shown in Figure 12. quencies. An early deviation is found in the cases with a larger update
The time almost linearly increases with the increase in the number of frequency compared to ones with a smaller update frequency. This is
accelerating nodes. By examining Figures 11 and 12 we can state that due to the early information availability regarding blockages. The cor-
the trade-o for this parameter is that a higher number of accelerating responding time of execution is given in Figure 14. By examining Fig-
nodes implies better paths (desirable) with higher computational cost ures 13 and 14 we can state that the trade-o for this parameter is that
(non-desirable), and vice versa. a higher update frequency implies better paths (desirable) with higher
Another important factor is the number of updates of DP carried out computational cost (non-desirable), and vice versa.
Q
by the system between every two consecutive moves of the robot. In The factor Dmax storing the vision of every accelerating node is a rather
practice this parameter would depend on the natural speed of the robot. passive parameter in terms of computational time. The value of this
The robot would continue moving at its natural speed along the guided parameter does not appreciably a ect the computational cost of the al-
path and the time to travel in between the nodes would be the time gorithm since all the computations have to be made. This factor mainly
given to the system to make all computations. This determines the a ects the graph search algorithm and its result. A very low value
number of iterations of DP update that the system can perform. A high of this parameter would result in no connectivity of the accelerating
speed robot would mean a low number of iterations and vice versa. node graph. This would eliminate any blockage detection or alternative
32
PALADYN Journal of Behavioral Robotics
33
PALADYN Journal of Behavioral Robotics
Neuron Heuristic Search, In Proceedings of the 4th International In Proceedings of the IEEE International Conference on Robotics
Conference on Computer Sciences and Convergence Information and Automation, 2008, 3743-3750.
Technology, 2009, 1318-1323. [21] L. E. Kavraki, M. N. Kolountzakis, J. C. Latombe, Analysis of
[13] Y. Lu, X. Huo, O. Arslan, P. Tsiotras, Incremental Multi-Scale probabilistic roadmaps for path planning, IEEE Transactions on
Search Algorithm for Dynamic Path Planning With Low Worst- Robotics and Automation, 14(1) (1998), 166-171.
Case Complexity, IEEE Transactions on Systems, Man, and Cy- [22] L. E. Kavraki, P. Svestka, J. C. Latombe, M. H. Overmars, Prob-
bernetics, Part B: Cybernetics, 41(6)(2011), 1556-1570. abilistic roadmaps for path planning in high-dimensional configu-
[14] S. Koenig, M. Likhachev, and D. Furcy, Lifelong planning A∗, Arti- ration spaces, IEEE Transactions on Robotics and Automation,
ficial Intelligence, 155(1-2) (2004), 93–146. 12(4)(1996), 566-580.
[15] A. Stentz, Optimal and e cient path planning for partially-known [23] R. Gayle, A. Sud, E. Andersen, S. J. Guy, M. C. Lin, D. Manocha,
environments, In Proceedings of the 1994 IEEE International Con- Interactive Navigation of Heterogeneous Agents Using Adaptive
ference on Robotics and Automation, 1994, 3310-3317. Roadmaps, IEEE Transactions on Visualization and Computer
[16] D. Cagigas, J. Abascal, A Hierarchical Extension of the D* Algo- Graphics, 15(1)(2009), 34-48.
rithm, Journal of Intelligent and Robotic Systems, 42(4)(2005), [24] R. Bohlin, L. E. Kavraki, Path Planning Using Lazy PRM, In Pro-
393–413. ceedings of the 2000 IEEE International Conference on Robotics
[17] J. J. Ku ner, S. M. LaValle, RRT-connect: An e cient approach and Automation, 2000, 521-528.
to single-query path planning, In Proceedings of the IEEE Inter- [25] C. M. Clark, Probabilistic Road Map sampling strategies for
national Conference on Robotics and Automation vol. 2, 2000, multi-robot motion planning, Robotics and Autonomous Systems,
995-1001. 53(2005), 244–264.
[18] S. M. LaValle, J. J. Ku ner, Randomized kinodynamic planning, [26] K. J. O’ Hara, D. B. Walker, T. R. Balch, Physical Path Planning
In Proceedings of the IEEE International Conference on Robotics Using a Pervasive Embedded Network, IEEE Trans. Robotics,
and Automation, 1999, 473–479. 24(3)(2008), 741-746.
[19] B. Raveh, A. Enosh, D. Halperin, A Little More, a Lot Better: Im- [27] Z. Yao, K. Gupta. Distributed Roadmaps for Robot Navigation in
proving Path Quality by a Path-Merging Algorithm, IEEE Transac- Sensor Networks, IEEE Transactions on Robotics, 27(5)(2011),
tions on Robotics, 27(2) (2011), 365-371. 997-1004.
[20] L. Zhang, D. Manocha, An e cient retraction-based RRT planner,
34