Controlling a General Purpose Service Robot By Means Of a Cognitive Architecture
Service robotics is an emerging application area for human-centered technologies.
Even if there are several specific applications for those robots, a general purpose
robot control is still missing, specially in the field of humanoid service robots
[1]. The idea behind this paper is to provide a control architecture that allows
service robots to generate and execute their own plan to accomplish a goal. The
goal should be decompose into several steps, each step involving a one step
skill implemented in the robot. Furthermore, we want a system that can openly
be increased in goals by just adding new skills, without having to encode new
plans.
Typical approaches to general control of service robots are mainly based on
state machine technology, where all the steps required to accomplish the goal
are specified and known by the robot before hand. In those controllers, the list
of possible actions that the robot can do is exhaustively created, as well as all
the steps required to achieve the goal. The problem with this approach is that
everything has to be specified beforehand, preventing the robot to react to novel
situations or new goals.
An alternative to state machines is the use of planners [2]. Planners decide at
running time which is the best sequence of skills to be used in order to achieve the
goal specified, usually based on probabilistic approaches. A different approach
to planners is the use of cognitive architectures. Those are control systems that
45
try to mimic some of the processes of the brain in order to generate a decision
[3][4][5][6][7][8].
There are several cognitive architectures available: SOAR [9], ACT-R [10,
11], CRAM [12], SS-RICS [5], [13]. From all of them, only CRAM has been
designed with direct application to robotics in mind, having been applied to the
generation of pan cakes by two service robots [14]. Recently SOAR has also been
applied to simple tasks of navigation on a simple wheeled robot [15].
At time of creating this general purpose service robot, CRAM was only able
to build plans defined beforehand, that is, CRAM is unable to solve unspecified
(novel) situations.
This limited the actions the robot could do to the ones that
CRAM had already encoded in itself. Because of that, in our approach we have
used the SOAR architecture to control a human sized humanoid robot Reem
equipped with a set of predefined basic skills. SOAR selects the required skill
for the current situation and goal, without having a predefined list of plans or
situations.
The paper is structured as follows: in section 2 we describe the implemented
architecture, in section 3, the robot platform used. Section 4 presents the results
obtained and we end the paper with the conclusions.
No comments: