The test case consists of a series of laser scans from different robot positions.
Figure 10.16 reports the sequence of updates of the occupancy map (right-
hand side). The small crosses indicate the robot positions during the laser
scan. Please note that the origin of the robot's reference frame coincides
with the middle point of the rear axis. The robot's shape (left-hand side) is
depicted in the next position while acquiring new laser measurements.
The reader can extend the robot simulator in several ways:
Design and implement the sonar device.
Review the robotics literature in order to get specifications of real devices
such as video cameras and bumpers, and dead reckoning systems
(odometer, global positioning system, etc.).
Add uncertainty to the robot movements and to the sensor measure-
Extend the simulated environment in order to include moving obstacles
(e.g. human beings). The remote controller should be able to update the
occupancy map accordingly.
Implement complex robot commands such as tracking a moving object.
Define more complex exploration strategies that minimize the exploration
time and the number of sensor measurements.
The case study exemplified the development of a robot control system for
As described in the problem specification, the robot is equipped with a
variety of sensors and actuators. Each sensor provides information about the
surrounding environment that the robot uses to build an internal map-based
Architectural style . The problem analysis emphasized the composite
nature of a robotic system. Sensors and actuators are standard devices that
can be installed on the robot in order to extend its sensing and moving
capabilities when more complex tasks should be performed autonomously.
Consequently, from the analysis it emerged that the robot control system
should be structured according to the master
slave architecture. This kind
of architecture was originally conceived for the control of electronic devices
interconnected through an information bus.
Concurrency . The sensors and the mobile platform behave as indepen-
dent processes that execute tasks independently. The robot controller sends
commands to the devices and waits for results.