Monday, February 25, 2013

The Robot Architecture new technology
Navigation, as the general task of leading a robot to a target destination, is naturally intermingled
with other low-level tasks such as obstacle avoidance, and high-level tasks
such as landmark identification. We can see each of the tasks, from an engineering point
of view, as a system, that is, systems require and offer services one another. These systems
need to cooperate, since they need one another in order to achieve the overall
task of reaching the target. However, they also compete for controlling the available
actuators of the robot. To exemplify this cooperation and competition, imagine a robot
controlled by three systems, the Pilot system, the Vision system and the Navigation
system. Actually, these three systems compose the architecture we have used to control
our robot, which will be described in detail in the rest of this chapter. Regarding the
cooperation, the Navigation system needs the Vision system to recognize the known
landmarks in a particular area of the environment or to find new ones, and it also needs
the Pilot system to move the robot towards the target location. Regarding the competition,
the Navigation system may need the robot to move towards the target, while
the Pilot system may need to change the robot’s trajectory to safely avoid an obstacle.
Moreover, the Pilot may need the camera to check whether there is any obstacle ahead
and, at the same time, the Navigation system may need to look behind to localize the
robot by recognizing known landmarks. Thus, some coordination mechanism is needed
in order to handle this interaction among the different systems. The mechanism has to
let the systems use the available resources in such a way that the combination of these
interactions results in the robot reaching its destination.
We propose a general architecture for managing this cooperation and competition.
We differentiate two types of systems: executive systems and deliberative systems. Executive
systems have access to the sensors and actuators of the robot. These systems
offer services for using the actuators to the rest of the systems and also provide information
gathered from the sensors. On the other hand, deliberative systems take higherlevel
decisions and require the services offered by the executive systems in order to
carry out the task assigned to the robot. Despite this distinction, the architecture is not
hierarchical, and the coordination is made at a single level involving all the systems.
The services offered by the executive systems are not only available to the deliberative
systems; they are also available to the executive systems themselves. Actually, anexecutive system must compete with the rest of the systems even for the services it is
offering. The systems (no matter their type) can exchange information between them
(be it sensory information or any other information they could have – e.g. map of the
environment).
The coordination is based on a simple mechanism: bidding. Deliberative systems
always bid for the services offered by executive systems, since this is the only way
to have their decisions executed. Executive systems that only offer services do not
bid. However, those executive systems that require services from any executive system
(including themselves) must also bid for them. The systems bid according to the internal
expected utility associated to the provisioning of the services. A coordinator receives
these bids and decides which service each of the executive systems has to engage in.
Although we use the term “bidding”, there is no economic connotation as in an
auction. That is, systems do not have any amount of money to spend on the bids,
nor there is any reward or good given to the winning system. We use it as a way to
represent the urgency of a system for having a service engaged. The bids are in the
range [0 ; 1] , with high bids meaning that the system really thinks that the service is the
most appropriate to be engaged at that moment, and with low bids meaning that it has
no urgency in having the service engaged.
This bidding mechanism is a competitive coordination mechanism, since the action
executed by each system is the consequence of a request of one of the systems, not a
combination of several requests for actions made by different systems, as it would be in
a cooperative mechanism.
This modular view forms an extensible architecture. To extend this architecture
with a new capability we would just have to plug in one or more new systems, eventually
adding new sensors or actuators, and eventually changing the bidding functions
of the existing systems. Not only that, it also permits us to recursively have a modular
view of each one of the systems, as will be soon seen in the design of our Navigation
system. Moreover, this architecture is not thought only for navigation purposes since
its generality can be used for any task that could be assigned to a robotic system.
For our specific robot navigation problem, we have instantiated the general architecture
described above . It has two executive systems, the Pilot and Vision
systems, and one deliberative system, the Navigation system. Each system has the following
responsibilities. The Pilot is responsible for all motions of the robot, avoiding
obstacles if necessary. The Vision system is responsible for identifying and tracking
landmarks (including the target landmark). Finally, the Navigation system is responsible
for taking higher-level decisions in order to move the robot to a specified target.
The robot has two actuators: the wheels’ motors, used by the Pilot system, and the camera
motor, used by the Vision system. The available sensors are the wheel encoders
and bumpers, which provide odometric and bumping information to the Pilot, and the
images obtained by the camera, used by the Vision system to identify landmarks. The
Pilot system offers the service of moving the robot in a given direction, and the Vision
system offers the service of moving the camera and identifying the landmarks found
within a given area. The bidding systems are the Pilot and the Navigation system, while
the Vision system does not bid for any service.

1 comment:

Note: Only a member of this blog may post a comment.