1 The GeckoSystems Architecture for
Robot Intelligence and Control
The human biological
machine, whether it be God's creation or some product of
evolutionary processes, should be considered a marvel of composite
complex processes. And regardless of the genesis stance that one
takes, it is impossible to deny the near perfection in terms of
utility and function provided by the human "design" (for lack of
a better word). Those who seek to produce systems mimicking the
functionality of the human body and mind without recourse to the
ideal model provided by nature may well be ignoring the ultimate in
time-tested and elegant solutions. GeckoSystems, Inc., in
understanding the synergy of drawing from both biological and
traditional engineering approaches, has developed a hybrid paradigm
for robot intelligence and autonomous control.
GeckoSystems'
approach is a modular, distributed and hierarchical robot control
scheme comprised of two abstract components: an upstream component
where deliberative and semi-real-time processing occurs and a
downstream component where real-time reactive-level control is
achieved. This architecture is currently implemented in all of our
platforms including the CareBot,
SecurityBot, and SuperVacBot.
In this article, we describe both components in detail, along with
inherent advantages of our architecture. Additionally, we address
several potential drawbacks of our architecture over flat
architectures. We will use biological metaphors to help the reader
understand the organization behind the architecture, drawing from the
demonstrable robustness of both human and animal biology.
Furthermore, we have refrained from identifying specific hardware
solutions to further illustrate portability of the software.
2 Upstream Cognitive Lobes
The upstream area of
the GeckoSystems architecture is involved in higher-level, semi-real
time and deliberative processing. This region is likened to the
human brain's cerebrum, which is a collection of tightly-coupled,
specialized processing units called lobes including the temporal,
occipital, parietal and frontal lobes. Together, these lobes define
the human ability to think, contemplate and plan, also called
cognitive processing.
2.1 GeckoNav
Each lobe of the human brain contains large areas
called association areas, where it is believed that problem solving
is performed and memory is stored. Association areas, along with a
neuron bundle called the corpus callosum, serve to
interconnect adjacent lobes. Because GeckoNav is involved in
both centralized control and environmental mapping as well as in
resolving communication between junior upstream components such as
GeckoChat and GeckoVision, we will compare GeckoNav with this
conjoined mass of association areas. In effect, GeckoNav is
the supervisor for both the upstream and downstream systems and
subsystems.
GeckoNav is the central control unit of the upstream component,
being intimately involved in the crucial task of navigation. Other
high-level units, such as GeckoChat, are subservient to
GeckoNav in that navigation and control issues are directed through it.
The GeckoSystems Architecture
GeckoNav
handles subsumption (prioritization in context) over
conflicting internal representations and external signals.
Additionally, GeckoNav provides the only interface to the
downstream component, thus isolating and protecting other upstream
nodes from low-level control issues. For example, when driving in
dense traffic, one generally has difficulty conversing. Thus, for
safety reasons, the human brain understands the importance of not
engaging in peripheral distractions.
GeckoNav's chief role is in providing top-level navigation for
the interfaced platform. By using a subsumptive set of proprietary algorithms for mapping, path planning,
obstacle avoidance and environment exploration, GeckoNav, in
tandem with the downstream components, successfully and demonstrably
(see video demos) solves the problem of autonomous, real-time robot
navigation in dynamic domains.
2.2 GeckoChat (GeckoTempora)
The
human cerebrum is divided into several regions called lobes, which
are further subdivided into areas according to specific
functionality. The lobe that controls the majority of auditory
processing is called the temporal lobe, which also contains
Wernicke's area, one of the two areas associated with speech.
GeckoTempora is the term we give for our speech synthesis and
recognition approach, with the software product GeckoChat being the
manifestation.
GeckoChat
is a modular conversational artificial intelligence system that
allows the user to verbally interact with whatever system GeckoChat
is incorporated in. For instance, in the domain of mobile service
robots (MSRs), GeckoChat can
provide voice command communication with a pre-defined ambient user. Through GeckoChat,
the platform has way to relate information it observes about both its
world and its internal state. By combining these system-specific
capabilities with the standalone functionality of GeckoChat,
GeckoSystems, Inc. provides a robust application to increase interactivity
and autonomy in any domain where automated speech recognition and
synthesis would be beneficial.
GeckoChat
is structured in such a way that language independence is implicit.
We plan to call other language capabilities of GeckoChat,
GeckoLingua.
For
more information on GeckoChat, please see the GeckoSystems, Inc.
GeckoChat Discussion.
2.3 GeckoVision
(GeckoOccipita)
The human brain
centralizes processing of vision in a posterior section of the brain called
the occipital lobe. Vision is perhaps the ultimate feature of
biological sensory design and with the possible exception of
language, is the most important method for human sensory input from
the outside world, and yet, the blind commonly surprise the sighted
with their ability to navigate dynamic environments.
GeckoSystems
vision for GeckoVision is as an auxiliary system for object
recognition. We take the approach that traditional computer vision
is not a necessary component in robot navigation just as it is not a
required component for the blind to successfully care for themselves
in their daily routines. However, because we believe that sensory
depravation is the bane of most robot control attempts, we use sensor
fusion. We plan to incorporate computer vision techniques to extend
our already sufficient navigation scheme as well as to facilitate in
end-effector (e.g. hand) control.
3 Downstream
Non-Cognitive Subsystems
While the upstream
region is involved in relatively abstract, high-level cognitive
processing, the downstream area both executes the results of said
cognitive processing while maintaining real-time control over actual
platform functionality. It compares most readily with the
autonomous nervous system, which is made up primarily of the
cerebellum and the peripheral nervous system, including the spinal
cord, associated ganglia, and somatic nerves.
3.1 GeckoCerebellum
The
cerebellum, in the human case, is an assembly of specialized neurons
in the brain proper that controls real-time movement and balance,
thus freeing the higher (frontal) areas of the brain for cognitive
processing. GeckoSystems takes a similar approach in solving the
real-time control issue. Because our architecture, like most
biological control architectures, is not flat, we allow for certain
tight couplings, as needed, between system and subsystem inputs and
outputs such that it is transparent to upstream control nodes like
those found within GeckoNav. In concentrating hard real-time
control in the downstream segment of the GeckoSystems architecture,
the upstream region is free to manage semi-real-time and deliberative
tasks requiring cognitive processing, such as mapping and speech.
The
GeckoCerebellum has domain over the GeckoGanglia, which are described
below.
3.2 GeckoMedulla
The
medulla oblongata is located in the lowest portion of the brain
proper and serves as both a relay between the cerebrum, cerebellum
and spinal cord and as a control center for the autonomous nervous
system. In terms of the GeckoSystems architecture, we use a similar
approach in communications between GeckoNav and the
GeckoCerebellum. While not exactly aligned with the human biological
architecture, we feel that the GeckoMedulla metaphor captures the
essence of the medulla oblongata's functionality.
The
GeckoSystems architecture includes a pipeline link between
GeckoNav and the GeckoCerebellum, with module communications
filters built in each to facilitate use of arbitrary protocols.
Because of the flexibility of GeckoMedulla communications between the
upstream and downstream components of the GeckoSystems architecture,
the upstream component (i.e., GeckoNav, GeckoChat and
GeckoVision) can be housed off-platform via many current and future
wireless communications protocols.
3.3 GeckoGanglia
Even
in so-called lower animals, ganglia serve as auxiliary "brains"
or units that control processes requiring fast reactive response.
For example, the dinosaurs were proported to have several large
ganglia along the lengths of their bodies to facilitate quick,
reflexive responses. Some organisms have only ganglia with no
central brain. This distributed processing network still allows
these organisms to remain competitive in their respective
environmental domains. In humans, we have some vestiges of ganglia,
especially concentrated in or near the spinal column, which may
facilitate in sensory and signal processing, especially in the realm
of touch.
GeckoSystems
relies heavily on this ganglia model for our real-time control
systems. By utilizing programmable micro-controller units and
sophisticated electronics at the level of motor control and sensory
pre-processing, raw data is converted to a form amenable to
higher-level units such as the GeckoCerebellum. The compression
effect of raw data being converted into increasingly symbolic forms
is common in sequential processing systems and is reminiscent of
video and audio compression techniques; however, we have gone a step
further in adapting this paradigm for parallel-distributed processing
in robotics. One of the expressions of this approach is found in our
sensor fusion method. Currently, we have several ganglia between the
GeckoCerebellum and both the sensory and locomotion hardware.
4 Advantages of the GeckoSystems Architecture
One of the several
advantages of this architecture is the fact that any given component
communicates only with adjacent subsystems, not with the entire
system. Thus, for example, GeckoNav need not "know" how to
communicate with any of the several GeckoGanglia, it only need
communicate with the GeckoCerebellum, which then handles directing
the GeckoGanglia (completely transparent to GeckoNav). In
other terms, GeckoNav runs against abstract inputs and outputs
definitive actions without concern as to the execution of said
actions. Indeed, by this one illustration, we show the type of
simplification in communication between components that enables the
GeckoSystems architecture to be intrinsically multi-platform enabled.
Another advantage is in
redundancy and error-recovery. Consider a system based on a flat
architecture: if there is a failure in a component due to hardware
problems, communications failure, power spikes, etc., control of the
platform is lost, which is inappropriate in any mission critical
situation. While these issues, to the degree possible, may be
handled in complex error-handling schemes, the overhead cost
inherently increases frequently to the point of not being
cost-effective. However, in a distributed architecture such as
GeckoSystems', redundancy is implicit. If, for example, the
GeckoCerebellum loses contact with GeckoNav for a given time
interval, the GeckoCerebellum will assume emergency control of the
robot until such a time as communication with GeckoNav is
re-established. Similar fail-safes are included within each node so
that functionality of the entire system is not totally lost upon
malfunction of one of the comprising units. This ensures a higher
level of safety for those interacting in the MSR's environment.
Because of the
flexibility of the GeckoMedulla in facilitating communication between
the upstream and downstream components of the architecture, a
complete on-board solution with both components localized is as
straightforward as the alternate solution of onboard downstream and
offboard upstream components. Where longevity of battery life is an
issue, the upstream components can be housed on an external computer
or even a network of computers. When a self-contained solution is
desirable (e.g., in environments with wireless interference or in
security applications), both components can exist on microcontrollers
and miniaturized microcomputer boards incorporated into the platform.
5 Potential Disadvantages and Rejoinders
In terms of hardware requirements, doesn't a
hierarchical system cost more to manufacture than a flat system?
In any distributed
architecture, bounding complexity is a problem. In terms of
manufacturing, having several processing and control units raises
assembly intricacy. In GeckoSystems' experience, we assert that a
multi-layered MCU/CPU architecture is far less expensive both in
power and dollars than a flat CPU architecture. Early in our
research, we considered a flat architecture and deemed it
inappropriate for robust and upgradable MSRs.
What about the power requirements for this
architecture: doesn't a distributed system require more power and
hence adversely affect battery life?
Not always, since the
single greatest factor affecting battery life, excluding screens and
hard drives, in laptops and portables is clock speed of the CPU. All
of our demonstration videos are of platforms of maximum clock speeds
less than 500 MHz. Our battery life is typically 12-24 hours between
charges. This in part is because our clock speeds are typically one
to two orders of magnitude less than what is found in flat
architectures.
6 Summary of the GeckoSystems Architecture
The crux of the
GeckoSystems architecture for robot intelligence and control is in
its hierarchical, distributed design. In the upstream or sensory
chain of processing, mundane (but potentially intensive) processing
is done by real-time control units called GeckoGanglia, with the
subsequent converted data handed to the GeckoCerebellum, which then
performs further processing, makes certain real-time reactive
decisions, and sends symbolized data upstream to GeckoNav.
GeckoNav then deliberates and acts based on current data from
lower-level nodes, temporal knowledge from past processing, and a
priori knowledge. The downstream or action chain of processing
is inititated within GeckoNav, which then sends symbolized
command data to the GeckoCerebellum, which then directs lower-level
components (ganglia) to act. We believe that the implementation of
this architecture will usher in a new age of practical, cost
effective, autonomous and intelligent robots for personal, business
and government use.
|