Java Reference
In-Depth Information
environment. The simulation consists in the exploration of an indoor
environment described by a geometric representation of obstacles. Each
obstacle is a polygon, whose corners are identified by Cartesian coordinates
related to a global reference frame.
The description of the simulated environment is loaded from a file that is
structured using the XML language. Figure 10.5 shows an example of such a
file. It is important to note that obstacle might be opaque or shiny and that
the laser range finder is not able to sense opaque obstacles.
The robot controller does not have access to the XML description of the
environment, i.e. the robot does not use the information in this represen-
tation to plan its exploration activity. Only the robot's sensors access
the obstacles' descriptions to simulate the interaction with the external
Problem analysis
The robot simulator is a software application structured as a master
application. The control program that runs on the remote station (the
remote controller) plays the role of master, while the control program that
runs on the onboard computer (the onboard controller) plays the role of
The first requirement of the onboard controller is to manage several
independent activities: the robot mobility in the operational environment
and the acquisition of sensor information from the laser range scanner and
from the sonar sensors. A second requirement is to offer concurrency: the
robot should be able to sense the environment while moving in order to
avoid obstacles. Another requirement is hiding the internal architecture of
the robot from the remote controller and supporting plug-and-play con-
figuration of the robot's components. The last requirement is managing the
geometric representation of the simulated environment.
The sensors and the mobile platform are the basic components that
simulate the interaction of the robot with the environment. The onboard
controller delegates to these components the execution of sensing and
moving commands. For standardization purposes these components have a
common representation that enforces reusability and facilitates the robot
customization with additional devices.
The remote controller has the responsibility of keeping the representation
of the operational environment up to date using the sensor information that
the robot acquires during the exploration. The interaction between the
onboard and remote controllers is a feedback control loop that consists in an
iterative exchange of commands and sensor data. The remote controller
sends commands to the robot that change its position and thus its inter-
action with the surrounding environment. As a consequence, the robot
acquires new sensory data that the remote controller uses to plan its
next exploration step. The communication between the remote and the
Search WWH ::

Custom Search