**[Description of CLARAty:]{.underline}**\
\
[Developing intelligent capabilities for robotic systems often requires
the integration of various technologies from different disciplines. As a
result, robotic software is complex, hard, and costly to develop. There
has also been very little reuse of robotic software. One of the primary
challenges is the variability of the physical systems and their
corresponding hardware architectures. However, as classes of robotic
systems emerge, such as rovers, more software can be designed for reuse
across various implementations. CLARAty is designed to address this need
by providing an extendable common framework that operates various
heterogeneous robots. It is also designed to simplify the integration of
new technologies. CLARAty leverages well-understood and mature
object-oriented technologies, design patterns, runtime models, and
robotic practices.\
\
CLARAty consists of a number of packages, and each package consists of a
number of modules. As a whole, the CLARAty architecture seeks to develop
reusable software components for robotic systems. The robotic systems
that are applicable to CLARAty include mobile robotic platforms such as
wheeled vehicles, manipulation platforms such as robotic arms, and any
hybrids of the two. CLARAty is an autonomous robot software architecture
comprised of two layers: a Functional Layer and a Decision Layer. (See
Figure 1 below.)]{.mark}

**Figure 1**: CLARAty Software Packages

# 

The Functional Layer of CLARAty provides basic generic functionality for
robotic systems. It is an object-oriented software framework that
represents the robotic system as a set of abstract components that can
be attached to real hardware components or virtual simulated components.
It provides the basic set of functionality for the robot, and
encapsulates this functionality into nested levels of granularity when
appropriate. The Functional Layer provides a unified and reusable
infrastructure and software framework that will facilitate the
integration of various robotic technologies on a set of heterogeneous
robotic systems. The Functional Layer can be adapted to various robotic,
rover, and simulation platforms, providing basic robotic functionality
that has been well understood. The goal of this layer is to provide
common glue and infrastructure software to enable researchers to focus
on developing their respective component technologies.

The Decision Layer is a model-based representation of the system and
interacts with the Functional Layer at various levels of granularity.
The Decision Layer uses a declarative model-based representation of
system capabilities and constraints. The goal of a generic Decision
Layer is to have a unified representation of activities and interfaces
with the Functional Layer. The Decision Layer can include components
such as high-level planning, scheduling, and execution capabilities. The
current instantiation of the Decision Layer features a tight coupling of
the planner and executive which interacts with a separate Functional
Layer at all levels of system granularity.

The modules within CLARAty can be separated into two distinct types: (i)
infrastructure and glue components, and (ii) technology content
components. The former provides a framework and defines the interfaces
of the various modules of the architecture. The information provided in
these modules is basic and limited to well-known and well-understood and
accepted practices in the robotics community. The technology contents of
these infrastructure components are readily available in many robotic
textbooks, such as the following: \[1\], \[2\], \[3\], \[4\].

1.  R. P. Paul, *Robot Manipulators: Mathematics, Programming, and
    Control*, MIT Press, 1981.

2.  M. Brad, J. M. Hollerbach, T. L. Johnson, T. Lozano-Perez, and M. T.
    Mason, eds, *Robot Motion Planning and Control, MIT Press*, 1982.

3.  J. Craig, *Introduction to Robotics: Mechanics and Control*,
    Addison-Wesley, 1986.

4.  P. J. McKerrow, *Introduction to Robotics*, Addison-Wesley, 1991.

[The second type, technology content components, is non-basic,
technology-specific. That is, these modules employ various approaches
and non-basic technologies to solve particular problems related to the
robotic discipline. These technologies provide models and algorithms for
managing robotic interactions in uncertain environments. These
technologies are directly applicable to the robotic systems of interest
to the NASA/JPL rover research efforts.]{.mark}

CLARAty software runs on various operating systems including the VxWorks
real-time operating system, Linux, Solaris, Mac X, and IRIX. CLARAty
also supports various processor architectures running real-time
operating systems. Such architectures include x86 (Intel), m68k
(Motorola), and ppc (PowerPC) processor architectures. CLARAty can also
run in simulation mode on various host computer systems running the
following operating systems: Sun Solaris, Red-Hat Linux, and Microsoft
Windows. Non-real-time portions of the CLARAty software can also run
standalone on host computers without real-time target systems. Real-time
target systems' hardware includes Compact-PCI chassis, VME chassis,
processor cards, digital I/O cards, analog I/O cards, Ethernet cards,
cameras, frame grabbers, motor controller cards, sensors, DC brush
motors, robotics arms, and rover platforms.

Since CLARAty runs on several platforms, the performance characteristics
can vary considerably. An overall summary of performance is as follows.
At the lowest motion control level, on a rover prototype, closed loop
control can be achieve at rate of 200Hz-500Hz (depending on the
processor). Image acquisition can be obtained at a 30Hz rate, while
image processing such as stereo processing occurs at 1-2 Hz. Visual rock
tracking can be achieve at 10Hz while high-level capabilities such as
vision-based navigation occur at 0.1Hz. Decision making capabilities
occur at \< 0.1 Hz.[\
]{.underline}

[\
**Origin of CLARAty:**\
\
]{.underline}The CLARAty effort was initiated by California Institute of
Technology's Jet Propulsion Laboratory in 1999. Collaboration with NASA
Ames Research Center started in mid 2000 and with Carnegie Mellon
University (CMU) by end of 2000. (NASA Ames and CMU are subcontractors
of Caltech's JPL for the CLARAty task.) JPL's CLARAty effort is
co-funded primarily by the NASA Code S Mars Technology Program's Rover
Autonomy Task and the NASA Code R Intelligent Systems Program.\
[\
]{.underline}Within the NASA/JPL context, one of the main goals of
CLARAty is to facilitate the integration of various robotic technologies
within the Mars Program at NASA. However, the interoperability,
reconfigurability, and reusability built within the design of the
CLARAty software provide a common software environment for robotic
research beyond the NASA community.

CLARAty is designed to provide a framework to solve encumbrances to
advancement of robotic system developments. First is the lack of common
software architecture spanning multiple research efforts. Without this,
robotic developers have been hampered by the need for re-implementing
and testing the basic infrastructure that is needed for every robotic
project, instead of leveraging solutions from outside the immediate
effort. This has commonly resulted in a patchwork of software
implementations that never realize the potential of each of these
domains, and what they can provide for each other.

Within the robotics community as a whole, and in the restricted set of
planetary mobile robot research, there is no agreed upon architecture
for control of the systems. This has resulted in duplicative efforts for
the development of similar functionality in competing systems. CLARAty
software tries to provide an encompassing framework for rover control,
which includes multiple robotic systems. The goal of this product is to
provide uniformity to reduce wasted effort in development, and enable
rapid integration of software developed on different rover systems.
Using CLARAty's open software architectures, researchers at universities
and software developers in commercial companies can develop their own
robotic-based systems.

[\
]{.underline}

**Current Use of CLARAty:**

CLARAty's product market is primarily in the research community. The
CLARAty project focuses on developing tools and software infrastructure
for people doing research in the area of mobile robotics and
sensor-based manipulation. Within the NASA/JPL context, the goal of this
robotic research is to increase NASA's capability for exploring the
surface of the planets and their moons such as Mars, Titan, and Europa.
In particular, with the increased interest in developing rovers for
future Mars exploration, researchers and engineers at Caltech's JPL,
NASA Centers, and universities have designed and built several different
rover platforms to test new concepts and validate algorithms for the
control and operation of autonomous robotic vehicles. Because of
differences in the mechanical and electrical design of these rovers,
they share little in terms of software infrastructure. Transferring
capabilities from one rover to another has been a major and costly
endeavor because: (i) physical capabilities differ from one rover to
another, (ii) rovers have different control and software architectures,
and (iii) rovers are complex systems that integrate many disciplines.
CLARAty captures well-understood and well-developed knowledge from the
various domains into generalized components. The software tools within
CLARAty will assist researchers in developing rovers that can traverse
rocky Martian-like terrain in search of geological interesting rock
samples. Additionally, CLARAty provides infrastructure for collecting
and manipulating rock samples using robotic arms and instruments. These
arms can either be mounted on a mobile platform, such as a rover, or
mounted on fixed-base robots such as landers.

At this time, all software developed in this effort has been for
research purposes. The robotic systems that are applicable to CLARAty
include mobile robotic platforms such as wheeled vehicles, manipulation
platforms such as robotic arms, and any hybrids of the two. The existing
CLARAty software has been adapted to operate the Rocky rovers, including
all control and autonomy operations, and to help operate the K9 rover.
CLARAty is currently being adapted to the JPL FIDO rover, and it can
interface to other high-fidelity rover simulation software. All these
rovers are research rovers that can only be on Earth's ground surfaces.
These are neither flight rovers nor space-qualified rovers. CLARAty does
not have the necessary fault protection, flexibility, dynamics and
capabilities for space applications[. Future development and substantive
reconfigurations of the software would be required in order to utilize
CLARAty for space applications.]{.mark}

Special Characteristics:

CLARAty was developed primarily for research in the area of robotic
mobility and manipulation. The software was not designed using any
military standards or specifications. The software was not
space-qualified nor designed as flight software.\
\
At this time, the following tools and standards have been used for
CLARAty and its development:

-   [**The Unified Modeling Language** UML is being used for system
    design and documentation. The intent is for full use of UML,
    including templates.]{.mark}

-   [**C++ Language:** C++ is being used to create CLARAty, due to its
    wide use in academia and industry, the need for an object-oriented
    implementation, and the requirements of real-time software
    implementation.]{.mark}

-   [**OS support:** To provide both real-time software support while
    allowing for workstation development, CLARAty is being constructed
    to run under VxWorks, Linux, and Solaris. Extension to other
    operating systems in the future is possible.]{.mark}

-   [**Standard Libraries:** In the spirit of leveraging off public
    domain standards employed by the software community, software and
    specifications such as the Standard Template Library, are being
    employed where possible.]{.mark}

-   [**Software Design Tools:** While it is possible to build all or
    parts of CLARAty by writing software directly with a text editor, it
    is desirable to employ a standard tool for organizing, structuring,
    and styling the software in a like manner across all developers.
    Consideration has been given to tools such as *Rhapsody*^TM^ and
    *Visio*^TM^, but no decision is final. Since it is the desire to not
    prevent wide participation in use of CLARAty, tools with large costs
    are not desirable.]{.mark}

In terms of the Rover Conventions used to define the coordinates on the
vehicle, CLARAty follows the surface vehicle (SAE J670E) standard for
vehicle coordinate frame definition and rotation definitions.

While there are similar, commercially available products for several
parts of CLARAty, the CLARAty software is special in that it integrates
a large number of disciplines and various components into a consistent
and reusable framework. That is, CLARAty facilitates the integration of
various robotic technologies and provides a common software environment
that enables the implemention of a comprehensive control architecture
for robotic systems. This, in turn, contributes to the integration of
disparate robotic research efforts within the NASA community and various
universities nationwide. CLARAty emphasizes the need for
interoperability on various robotic systems that have different hardware
architectures.

CLARAty has been specifically designed to provide a generic,
platform-independent framework into which different control and autonomy
algorithms can be integrated. Once a new algorithm or piece of software
is integrated into the CLARAty architecture, it can be tested easily on
different robotic platforms. By providing standard instrument
interfaces, CLARAty also provides a measure of platform independence
with regard to the hardware elements. Designing the hardware interfaces
to use standard CLARAty device drivers will aid, if not ensure, the
portability of the instrument suite.\
\
The scope of the technology involved spans disciplines related to
ground-based robotic systems. These can be described as technologies
related to controlling mobile platforms and dexterous manipulators using
the integration of sensing and motion. The core software only provides
the basic framework and functionality. It encompasses software
architecture and various software components for robotic systems,
rovers, and simulation platforms. The types of technologies that relate
to the Functional Layer include robotic data structures, math
algorithms, I/O control, motion control and coordination, manipulation,
mobility, vision, terrain map generation, obstacle detection/avoidance,
terrain navigation, position estimation, sensing, science-data analysis,
standard communication protocols, hardware device drivers and various
adaptation of these generic constructs to rovers and manipulator
platforms. The types of technologies that relate to the Decision Layer
are: planning systems, scheduling systems, execution systems, resource
management systems, robotic models, and interface modules.\
\
Historically, within the commercial robotics arena, most robotic
manufacturers have proprietary, custom software. That is, they use a
specific infrastructure for their software development to give an
advantage to their robotic hardware; few have open architecture
software. Using CLARAty's open software architecture environment,
researchers at universities as well as software developers in commercial
companies can develop their own algorithms for rovers and robotic-based
applications.

**[Other Information on CLARAty:]{.underline}**\
\
However, CLARAty can also be used in commercial applications, such as
operating rovers in urban search and rescue missions, mining automation,
robotic excavation, and factory automation. The component technologies
associated with CLARAty have potential commercial applications in
industrial robotic manipulation such as automated assembling, packaging,
and sorting, as well as indoor mobile robotics and entertainment
robotics. Examples of companies that have robotic software include the
following:\
\
**Robotics Companies**

-   [Real World Interface](http://www.rwii.com/) - makers of high end
    research robots like the B21 and offer a lower end option, the
    Pioneer\
    [News]{.underline}: the Pioneer is now being sold exclusively by
    [Activmedia](http://www.activmedia.com/robots/) and RWI has merged
    with [IS Robotics](http://www.isr.com/)

-   [Nomadic Technologies](http://www.robots.com/) - makers of high end
    research robots and offer a lower end option, the Scout

-   [IS Robotics](http://www.isr.com/) - makers of high end walking
    robots, but currently more focused on government contracts and
    commercialization of their technology (recently changed their name
    to [iRobot](http://www.irobot.com/) to reflect their entertainment
    venture with Hasbro).

-   [K-Team](http://www.k-team.com/) - makers of the Kehpera, Koala, a
    number of other nice robots and controller boards with many options

-   [Red Zone](http://www.redzone.com/) - makers of industrial service
    robots

-   [Mobot, Inc.](http://www.mobotinc.com/) - makers of tour guide
    robots like Sage and Joe

-   [Probotics, Inc.](http://www.personalrobots.com/) - makers of the
    Cye robot

-   [Gecko Systems, Inc.](../%20http://www.geckosystems.com/) - makers
    of the CareBot home service robot

### Home / Service Robots

-   [DC06](http://dc06.dyson.com/) - an autonomous home vacuum cleaner
    from the Brittish company [Dyson](http://www.dyson.com/)

-   [Robomow](http://www.friendlymachines.com/products.html) - an
    autonomous lawnmower from the company [Friendly Machines
    Ltd.](http://www.friendlymachines.com/)

-   [InteleCady](http://www.icady.com/) - an autonomous robotic golf bag
    carrier

-   [Solar Mower](http://www.solarmower.com/) - an autonomous solar
    powered lawnmower

-   [Dolphin](http://www.vonschrader.com/ProductInfo/dolphinf.html) - an
    autonomous commercial carpet cleaner

### Entertainment Robots

-   [Aibo](http://www.world.sony.com/robot/) - a robotic pet dog from
    [Sony](http://www.sony.com/), a special
    [Robocup](http://www.world.sony.com/dream/robocup/fr_sony.html)
    division was formed for these dogs

### Prototype Robots

-   [Electrolux](http://www3.electrolux.se/robot/meny.html) - a
    prototype autonomous home vacuum cleaner

-   [Lawn Nibbler](http://www.mil.ufl.edu/Ln/lawn.htm) - a prototype
    lawn mower robot

-   [Jeeves](http://www.rwii.com/catalog/jeeves.html) - a prototype
    tennis ball collecting robot

-   [Honda](http://www.honda.co.jp/home/hpr/e_news/robot/) - a prototype
    humanoid looking walking robot

-   [Minerva](http://www.cs.cmu.edu/~minerva/) - a prototype tour guide
    robot

### Hobbyist Robotics

[General]{.underline} - distributors, kits, etc.

-   [The Mondotronics Robot Store](http://www.robotstore.com/) - an
    enormous selection of robot products including a variety of robot
    kits from different manufacturers and shape memory alloy (muscle
    wire) kits

-   [The Science Kit Center](http://www.sciencekits.com/robots.htm) -
    very basic robot kits, the MovIt series

-   [Lynxmotion](http://www.lynxmotion.com/) - their own brand of robot
    kits

-   [Robix](http://www.robix.com/) - do it yourself robot arms using
    servos

-   [Mekatronix](http://www.mekatronix.com/) - a manufacturer /
    distributor of hobbyist robot products

-   [Lego Mindstorms](http://www.legomindstorms.com/) - Lego robot kits

-   [The Growbot](http://www.parallaxinc.com/stamps/growbot.htm) - a
    Basic Stamp based robot kit from Parallax

-   [Robot Books](http://www.robotbooks.com/) - an extensive source of
    robot books which also carries kits, movies, and toys

-   [Diversified Enterprises](http://www.divent.com/) - they make and
    sell several small robots controlled by Basic Stamps

-   [Johuco Ltd.](http://www.pcrealm.net/~johuco/) - a bunch of basic
    robot kits, some robots have analog based control and others are
    microcontroller based

-   [Rug Warrior](http://www.akpeters.com/rug-warrior.html) robot -
    available in kit and fully constructed form, from [AK
    Peters](http://www.akpeters.com/robotics.html), associated with the
    book [Mobile Robots: Inspiration to
    Implementation](http://www.amazon.com/exec/obidos/ASIN/1568810970/chucksroboticsre)

[PC Controllable]{.underline} - meant to be interfaced to a PC,
typically via RF Modem

-   [Pioneer](http://www.activmedia.com/robots/) - a higher priced, but
    very functional robot, available in an RF modem version and a
    standalone version

-   [The ARobot](http://www.robotics.com/arobot/) and [The
    Trilobot](http://www.robotics.com/trilobot/) - basic robots from
    Arrick Robotics

-   [Gecko Systems](http://www.geckosystems.com/) - the CareBot personal
    care robot and vacuum cleaning robot, a mid size robot

-   [Personal Robots](http://www.personalrobots.com/) - the Cye robot, a
    small slickly packaged hobbyist robot (aka
    [www.rugrover.com](http://www.rugrover.com/))

#### Industrial 

-   [Adept Technology](http://www.adept.com/main/company/index.html)
    Adept designs, manufactures, and markets factory automation
    components

Several of the technologies that are included in the CLARAty software
repository have commercial counterparts. That is, several parts of the
CLARAty software are similar to commercially available products.
Examples of companies that have developed robotic software for
commercial applications are:

-   Adept Technologies, Inc. (http://www.adept.com/main/index.html)

-   Bosch Robotics
    (http://www.robotics-technology.com/robots/bosch/index.shtml)

-   Seiko Robotics (http://www.seikorobots.com/)

-   Yamaha Robotics (http://www.yamaharobotics.com/)

-   Irobot Corporation (http://www.irobot.com/home/default.asp)

-   ActiveMedia Robotics (http://www.activmedia.com/)

-   Kuka Robotics (http://www.kukarobotics.com/)

-   Fanuc Robotics (http://www.fanucrobotics.com/)

-   Honda Robotics -- Open R (http://world.honda.com/robot/)

The requester suggests that the CLARAty software be classified within
the licensing jurisdiction of the Department of Commerce. Although the
software contributes to the NASA/JPL research efforts of robotic systems
for surface operations in terrains located in outer space, there have
been substantive research and development of robotic systems for
non-military, commercial, industrial applications. Additionally, thus
far, the research, development and use of CLARAty have been applied to
ground rovers. The software is designed to operate on ground surfaces.
CLARAty is not designed to operate at any altitudes. The software does
not have the fault-tolerant capability to handle the anomalies that may
be encountered in outer space. The software is not specially designed
for the development, production or use of radiation-hardened equipment
or materials. It is not specially designed or rated for operating in an
electro-magnetic pulse (EMP) environment. Also, the software is not
specially designed for the development, production or use of high
explosive-handling equipment. The software has not been designed or
developed to meet any particular military standards. It is not specially
designed for modeling, simulation or evaluation of military weapon
systems or military operation scenarios. It is not specifically designed
for spacecraft operations or for mission operations ground control. The
software is not specially designed for the development, production or
use of radiation-hardened equipment or materials.

[At no time does CLARAty generate or output spacecraft trajectory
information or spacecraft command sequences.]{.mark}

In view of the existing research, development, and civil utilities of
robotic software in the commercial market as well as the specifications
and capabilities of CLARAty, Caltech's JPL recommends CLARAty to be
subject to the licensing jurisdiction of the Department of Commerce.\
\
\
**[Attachment on CLARAty:]{.underline}**

An attachment of detailed technical description of CLARAty is enclosed.