Simulation Experiments
In step C, the robot has completely surrounded one object by performing the wall-following algorithm. The robot is now close again to its starting position. Since there are no preliminary cells left around this rectangular obstacle, the algorithm terminates the obstacle-following behavior and looks for the nearest preliminary obstacle.
In step D, the whole environment has been explored by the robot, and all preliminary states have been eliminated by a subsequent obstacle-following routine around the rectangular obstacle on the right-hand side. One can see the match between the final occupancy grid and the final configuration space.
16.5 Simulation Experiments
Experiments were conducted first using the EyeSim simulator (see Chapter 13), then later on the physical robot itself. Simulators are a valuable tool to test and debug the mapping algorithm in a controlled environment under various constraints, which are hard to maintain in a physical environment. In particular, we are able to employ several error models and error magnitudes for the robot sensors. However, simulations can never be a substitute for an experiment in a physical environment [Bernhardt, Albright 1993], [Donald 1989].
Collision detection and avoidance routines are of greater importance in the physical environment, since the robot relies on dead reckoning using wheel encoders for determining its exact position and orientation. A collision may cause wheel slippage, and therefore invalidate the robot’s position and orientation data.
The first test of the mapping algorithm was performed using the EyeSim simulator. For this experiment, we used the world model shown in Figure 16.5
(a). Although this is a rather simple environment, it possesses all the required characteristic features to test our algorithm. The outer boundary surrounds two smaller rooms, while some other corners require sharp 180° turns during the boundary-following routine.
Figures 16.5 (b-d) show various maps that were generated for this environment. Varying error magnitudes were introduced to test our implementation of the map generation routine. From the results it can be seen that the configuration space representation gradually worsens with increasing error magnitude. Especially corners in the environment become less accurately defined. Nevertheless, the mapping system maintained the correct shape and structure even though errors were introduced.
We achieve a high level of fault tolerance by employing the following techniques:
•Controlling the robot to drive as close to an obstacle as possible.
•Limiting the error deviation of the infrared sensors.
•Selectively specifying which points are included in the map.
By limiting the points entered into the configuration space representation to critical points such as corners, we do not record any deviations along a straight