Table 1.
Main advantages and disadvantages of the three prevailing paradigms for robot control.
Table 2.
A set of rules to decide when to apply a particular paradigm.
Fig 1.
TGF in action: An example showing the execution of stage S1.
(a) the environment where the robot should navigate (obstacles are represented by the thick black lines as well as the black rectangle; the robot is assumed to be equipped with a laser scanner which measures the distance to all surrounding obstacles in a 360-degree field of view); (b) the environment as locally perceived by the robot; (c) detection of gaps between obstacles; (d) gaps #3 and #4 are eliminated, because these gaps are narrower than the robot.
Fig 2.
TGF in action: An example showing the execution of stage S2.
Gap #2 is selected instead of gap #1 because mindist2 < mindist1.
Fig 3.
A scenario where TGF fails to guide the robot to the target.
Fig 4.
Exemplification of the Traversability principle assuming K = 24.
Fig 5.
Behavior that emerges when the Traversability principle and the Tenacity principle are jointly applied.
Fig 6.
The T2 strategy escaping from several dead-end traps.
The T2 strategy was configured in its left-hand tenacity mode. As can be seen, the robot needed to move away from the target in order to avoid the two canyon-like obstacles. (a) Plot of the path followed by the robot (over 28 meters in length). (b) Multiple views of the navigation environment.
Fig 7.
Some limitations of the T2 strategy.
(a) The robot never converges to the target; (b) Narrow passages/gaps are missed (as a general remark, it is important to say that T2 inherently favors the navigation of the robot across the open spaces of the environment, where naturally there is less risk of collision).
Fig 8.
A schematic view of the components of EG.
(a) first proposal; (b,c,d) some improvements to (a) (in these figures, Inum is used as a shorthand term of Improvement #num).
Fig 9.
A comparison of the performance of EG.
(a,b) before and (c,d,e) after adding the sensor data filter.
Fig 10.
Removing the information about obstacles from the short-term memory which unnecessarily restricts the motion of the robot.
(a) A graphical representation of what Rchecked means. (b) The data removal mechanism in action: at step 6a, the Rchecked region is considered to be inconsistent; accordingly, the Rchecked region is relabelled as allowed at step 6b; at step 6c, the robot goes directly towards T.
Fig 11.
Problems and solutions for successfully avoiding spiral-like obstacles.
(a) At step 5, the robot does not know where to go. (b) At step 6, a new layer is added to the short-term memory (in the figure, Li stands for layer #i).
Fig 12.
Continuation of the navigation task initiated in Fig 11(a) and 11(b).
The situation depicted makes clear that EG allows the robot to progress directly towards the target point (meanwhile, the robot persists in performing boundary-following) just when the robot reaches the outermost loop of the spiral-like obstacle and the currently-active layer of the short-term memory indicates that there is a free-obstacle path to T. (a) At step 12, layer #2 is destroyed, and layer #1 is recovered and used for deciding where to move the robot. (b) At step 17, the robot leaves the O1’s boundary and moves following the thick gray line. In both figures, (a) and (b), Li stands for layer #i. Lastly, it is also important to note that the legend of this figure gives a different meaning to some colors as compared to the legend of Fig 11(a) and 11(b). Essentially, now the angular region is painted in either dark-blue or soft-blue depending on how it is labelled: dark-blue/soft-blue is used when
is labelled as allowed/banned.
Fig 13.
One of the three different ways of calculating and
that eqs 5 and 6 do propose.
The use of this way of calculating and
is restricted to the case in which the robot is navigating inside a spiral-like obstacle and the EG’s short-term memory detects a false free-obstacle path towards the target point.
Table 3.
A brief description of the auxiliary functions and procedures used in algorithms 1 and 2.
Table 4.
A brief description of the auxiliary functions and procedures used in algorithms 1 and 2.
This table is a continuation of Table 3.
Fig 14.
Test of the EG strategy in several scenarios where reactively-controlled robots get typically trapped when attempting to reach the target point.
Fig 15.
Test of the EG strategy in a scenario with a double-loop spiral-shaped obstacle.
The path followed by the robot has been divided into four parts to make such a path clearer by avoiding any overlap.
Fig 16.
Test of the EG strategy in a large-scale scenario containing more than sixty obstacles which jointly give rise to a large maze-like obstacle.
Fig 17.
Comparing the performance of the TGF, T2 and EG strategies in a simple environment.
Table 5.
A set of metrics to quantitatively evaluate the performance of the TGF, T2 and EG strategies for the experiment of Fig 17.
All lengths are expressed in meters.
Fig 18.
Comparing the performance of the TGF, T2 and EG strategies in a complex environment.
Fig 19.
Robots used in our experiments.
(a) A real Pioneer 3-DX robot. (b) A snapshot of the Pioneer 3-DX robot while performing the mission of Fig 20. (c) A real Eyebot robot.
Fig 20.
A representation of the environment where the experiment with the Pioneer 3-DX robot was conducted.
(a) The environment itself (obstacles are colored in black as usual). (b) Four different views of the environment (a number has been assigned to each view; by looking for this number in Fig (a), the reader can know the approximate position from where each view was taken).
Fig 21.
Results for the experiment with the Pioneer 3-DX robot (S2 Video).
This figure shows both the path followed by the robot (over 37 meters in length), and the environment as perceived by the robot’s laser scanner.
Fig 22.
Results for the experiment with the Eyebot robot (S3 Video).
In Fig (b), the x- and y-axis units are in meters.
Fig 23.
EG’s memory usage regarding the experiment of Fig 21.
During this experiment, two layers were created in the short-term memory. The amount of data—expressed in KB—stored in each layer at every time instant is represented in Fig (a). This amount of data is drawn in blue color for layer #1, and in red color for layer #2. Labels 1, 2, and 3 in Fig (a) and (b) correlate memory consumption with specific points of the trajectory followed by the robot.
Fig 24.
A measure of the robot’s safety regarding the experiment of Fig 21.
Labels 1 to 6 in Fig (a) and (b) correlate the distance to the closest obstacle with specific points of the trajectory followed by the robot.
Fig 25.
Path—in red—Generated by the Bug2 algorithm in the environment of Fig 21.
Note that Bug2 was configured to follow the boundary of the obstacles to the right.
Fig 26.
Comparing different criteria to decide in which direction the robot should circumnavigate an obstacle.