This measurement is related to the left doorpost of the window. Finally,
the laser perceives part of the left-hand side wall from the direction of 5.044
radians (289 degrees) up to 5.48033 radians (314 degrees).
Prototype 3: Map building
The third prototype addresses two main problems: the communication and
synchronization mechanisms between the remote controller and the robot
and the construction of the occupancy map of the environment.
The robot and the remote controller are two independent processes that
communicate and synchronize by exchanging messages. The controller
sends commands to the robot, which replies with task results. This kind of
communication is direct and symmetric, that is the robot and the
controller send messages over the same communication medium (e.g. a
Since the robot's devices are autonomous, the controller might send a
sequence of commands to different devices and wait for the first reply from
any of those devices. For example, the controller might activate the laser
detection behaviour and request the mobile platform to move forward a
given distance. The laser scans the area in front of the robot continuously
while the robot is moving towards the next destination and returns the
distance to the first obstacle encountered. The communication between the
controller and the robot is asynchronous. We assume that the serial port
has a buffer and that messages are cached until the controller reads them.
For example, the controller is waiting for a reply from the platform
(“Platform arrived”) and from the laser (“Obstacle detected”), but it does
not know which message will arrive first. If the laser detects an obstacle, the
controller might request the mobile platform to halt; on the other hand, the
controller might request the laser to abort the detection behaviour when
the platform has arrived at its destination. When a device communicates a
result, it must specify its name in order to allow the controller to identify
As described in Section 10.1.2, the remote controller uses sensor data to
build the occupancy map that describes the robot's surroundings. The en-
vironment has been completely explored when the robot has updated the
value of all the cells of the occupancy map that correspond to visible areas
of the environment. The internal part of an obstacle is not a visible area.
The robot controller can implement several exploration strategies. For
example, it might move randomly in the environment looking for unexplored
areas. A more sophisticated strategy might try to minimize the travel path or
the number of laser scans.