obstacles are known (or partially known on condition
that certain algorithms such as D ∗Lite (Koenig and
Likhachev, 2002) are used for example) in advance
and can be very slow if the number of dimensions is
greater than two.
Another category of algorithms, called probabilis-
tic algorithms, is based on the use of randomness to
construct a connected graph in a configuration space,
thus allowing it to be freed from an exact represen-
tation of the environment. These methods perform
a random search in free space until the desired fi-
nal configuration is reached. Among these methods
we find the Probabilistic Roadmap Approach (PRM)
(Chen et al., 2021). As previously, the technique con-
sists of two phases. The first phase in the construction
of a graph (this phase is called learning phase) and
the second, (called research phase), consisting of the
search for a path in this graph. The graph represents
the free space. To ensure a total exploration of the
free space, each node of the graph is drawn randomly
according to a uniform distribution. Each time a node
is randomly pulled it is verified as to whether or not
there is a straight line without collision with the nodes
closest to the graph, which respects the constraints of
the mobile. If this condition is verified, then we add
this new node to the graph and connect it to the clos-
est nodes. There are several variants of this algorithm.
Among them, Rapidly exploring Roadmap Random
Trees (RRT) (LaValle et al., 1998; Kalpitha et al.,
2020), which is based on the same technique but al-
lows convergence more quickly by choosing only the
nodes which are relevant to the solution of the prob-
lem, resulting in the reduction of computation time.
From the initial position of the mobile, a tree is suc-
cessively constructed by successive integration of the
nodes. To create a new node, we generate a random
sample of the configuration space that we will call
rand using a random distribution to maximise explo-
ration. The near node closest to rand is determined,
and a new candidate configuration new then produces
a segment joining near to rand, at a distance prefixed
δ from near. Finally, we check that the segment from
near to new is collision-free. If this condition is true,
we add new to the graph and connect it with a segment
near to new.
Another class of algorithms, which allows robots
to blindly navigate in mapless environments, is com-
monly known as Bug Algorithms (BA). As the name
suggests, they have a biological origin. They are
based upon techniques inspired by the movement of
insects. A description and comparison of a wide vari-
ety of these algorithms can be found in the following
articles : (McGuire et al., 2019) (Sivaranjani et al.,
2021). The principle of these algorithms is that they
do not know the position of the obstacles in their en-
vironment, nor the relative position of the goal to be
reached. They will react locally only to contact with
obstacles and walls which constitute their immediate
environment so as to allow the robot to progress to-
wards its objective by following the limits of the ob-
stacles and walls. The nature of these algorithms is
ideal for indoor navigation, where the map of the en-
vironment is not known in advance, and/or the struc-
ture of the environment is constantly changing. The
Bug Algorithms are based on the following criteria:
(1) Unlike many planning algorithms, which assume
a global knowledge of the environment, these algo-
rithms assume only a local knowledge of the environ-
ment and a global objective. (2) Their behaviour is
straightforward: (a) follow the contours of obstacles
(b) move in a straight line towards the objective. (3)
The range of the sensors is limited and admits a cer-
tain range of uncertainty of the final position. The
typical behaviour of Bug Algorithms is to move in a
direct line whenever possible, until reaching the goal.
In case the mobile meets an obstacle it follows the
contour of the obstacle until it is possible to go in a
straight line towards the goal.
Among the simplest algorithms, we find the Com
(Lumelsky and Stepanov, 1986) algorithms they have
been qualified by the authors of (McGuire et al., 2019)
as common sense algorithms and they have abbrevi-
ated them under the acronym Com. The idea is to
move in a direct line whenever possible, until waiting
for the goal. In case the mobile meets an obstacle then
it follows the contour of the obstacle until it is possi-
ble to go in a straight line towards the goal. The first
point of contact with the obstacle is called hit-point,
and the point where the mobile leaves the outline of
the obstacle to go in a straight line towards the goal
is called leave-point. This algorithm can solve sev-
eral situations, but the authors show some problem-
atic cases shown in Figure 2 (a). To solve the prob-
lem posed by Com the authors suggest the Bug1 al-
gorithm which proposes to explore the totality of the
obstacle while keeping the last point leave-point in
its memory as shown in Figure 2 (b). However Bug1
generally proposes a path for this, the authors propose
an optimized version of this algorithm, named Bug2
whose idea consists in drawing an imaginary line M-
line between the starting position and the goal. Bug1
explores the obstacle but this time, until we encounter
the M-line, this situation is illustrated in Figure 2 (c).
In the same article, (Sankaranarayanan and
Vidyasagar, 1990) the authors, evince that there are
still cases where Bug2 proposes unoptimised and very
long paths. They consider that the main cause comes
from the fact that the algorithm does not store the
Head Star (H*): A Motion Planning Algorithm for Navigation Among Movable Obstacles
213