Professional Documents
Culture Documents
Barriers To Adopting Robotics Solutions
Barriers To Adopting Robotics Solutions
Abstract— Building upon it’s wealth of experience in the envisioned requirements for architectures and supporting soft-
development of tele-operated vehicles, Defense R&D Canada ware tools. The steps taken to meet the requirements are given
(DRDC) has recently embarked on a program to develop co- in Section III. DRDC’s experiences with robotics solutions are
operating autonomous robotic vehicles. This new focus required
a multi-disciplinary approach in which a number of researchers, detailed in Section IV. In Section V the barriers and difficulties
with a broad range of knowledge and experience in robotics, experienced, as well as the successes, are highlighted. Finally,
collaborated to construct an autonomous vehicle. The assembled conclusions are given in Section VI.
team recognized early on that the software, required to imple-
ment autonomous capabilities, would dominate the development II. S OFTWARE D EVELOPMENT E NVIRONMENT AND
process. This paper discusses DRDC’s experiences in adopting A RCHITECTURAL R EQUIREMENTS
readily available robotics solutions, including the benefits accrued
and the barriers encountered. DRDC researchers recognized that the development of
autonomous systems, with its emphasis on implementing au-
I. I NTRODUCTION tonomous capabilities, was dominated by the software devel-
In 2003, DRDC embarked on a program, the Autonomous opment process. This viewpoint is held by others, including
Land Systems (ALS) project, whose goal was the demonstra- S. Thrun the team leader of the Stanley vehicle that won
tion of cooperating autonomous vehicles operating within a the DARPA Grand Challenge who states “Treat Autonomous
military context. To meet this goal, DRDC assembled a multi- Navigation as a software problem” [2]. Hence, DRDC created
disciplinary research team that included experienced roboti- an extensive list of desirable software properties [3], which
cists, controls and control software experts, and a significant are summarized below:
number of inexperienced newcomers. 1) Programming language(s), compiler, and operating sys-
Early work reviewed the state-of-the-art in the field of tem feature longevity.
mobile robotics, followed by an assessment of DRDC’s tele- 2) Compatibility with other major robotics research insti-
operated vehicle program. This assessment revealed that while tutions.
tele-operated vehicles were still of interest, the software sys- 3) Based upon a strong middleware toolkit.
tem / architecture employed in these vehicles was unsuit- 4) Flexible, modular, scalable and extensible implementa-
able for more complex, autonomous robotic implementations. tion that is built upon components.
Thus, working with a clean slate, researchers were free to 5) Based upon a framework approach that allows an archi-
chart the course that best suited the program’s requirements. tecture to emerge from the system requirements.
Given DRDC’s “research and development” imperatives, its
interests in autonomous robotics extend beyond pure research III. ACHIEVING THE R EQUIREMENTS
into development and product delivery. With this long term A. Software Development Environment
view, the team understood that the software underpinning the Based upon group experience, research, and subjective
robotics program must evolve with the program, hence it must comparisons [4], it was concluded that open source software
be modular, flexible and extensible. and tools, executing under the Linux operating system, using
To achieve these goals, DRDC adopted a Component Based the C/C++ programming languages and the GCC tool chain,
Software Engineering (CBSE) approach using frameworks and would best suit DRDC’s software development requirements.
middleware. Frameworks define commonly used design pat-
terns that yield generic component implementations [1], while B. Networking Middleware
middleware provides the mechanisms that allow components Following a preliminary examination, DRDC subjectively
to share information and data. Additonally, DRDC required ranked a number of networking middleware toolkits, including
a software development environment, and an architecture that ACE [5], TAO [6], RTC [7], NDDS [8], NML [9] and IPT/IPC
was applicable to unmanned ground vehicles. Finally, rejecting [10], [11]. This investigation highlights two trends in the
the “not invented here” mindset, DRDC actively sought open robotics community; the development and use of specialized,
source implementations of both frameworks and middleware robotics-specific middleware (IPC/IPT/RTC) and the adoption
toolkits as a means of jump starting their research program. of generic middleware (ACE/TAO/NDDS) to robotics applica-
This paper reviews DRDC’s quest for a software develop- tions. Generic middleware, especially CORBA, allows for the
ment environment, framework, middleware and architecture most flexible, modular and extensible implementation, but at
and is divided into six sections. Section II describes DRDC’s the cost of resource consumption and complexity.
Solution Self Contained Difficulty
C. Robotics Architectures
Miro/ACE/TAO No 3
Numerous robotics architectures and/or framework based Carmen/IPC Yes 1
architectures were reviewed [1], including Player/Stage [12], Player Yes 1
CLARAty [13], Marie [14], Carmen [15], Miro [16] and
TABLE II
Orca [17]. Table I provides more details on a selected list of
E ASE OF INSTALLATION OF THE CANDIDATE SOLUTIONS RANKED ON A
architectures. The rating given to each category ranges from
SCALE OF 1 ( LEAST DIFFICULT ) TO 3 ( MOST DIFFICULT )
a 1 (low), to a 3 (high), and are subjective values from the
authors’ view points.
DRDC researchers examined, in detail, three open source Each solution is subjectively ranked with respect to these
solutions, where a solution is the combination of an architec- features in Table III.
ture and the middleware toolkit(s) upon which it was built. Solution Miro/ACE/TAO Player Carmen/IPC
These solutions included: Documentation 2 3 1
• the Miro (Middleware for Moblie Robot Applications) Code Examples 1 2 1
framework, based upon the ACE and TAO middleware, Platforms 2 3 1
Drivers 2 3 1
• the Player toolkit and Stage simulation package,
Applications 2 3 1
• Carmen (The C.M.U. Robot Navigation Toolkit), based Simulation 1 3 2
upon IPC middleware.
TABLE III
The evaluation of these solutions was, by necessity, a
I NITIAL ACCEPTANCE CRITERIA FOR THE CANDIDATE SOLUTION RANKED
subjective procress that involved numerous researchers and
ON A SCALE FROM 1 ( POOR ) TO 3 ( GOOD ).
the views given are the overall group’s collective impressions.
The follow sections evaluate each solution with respect to: the
installation process, including configuration and compilation;
the ease of use; and the overall capabilities. With reference to Table III, clearly Player contains the
most user-friendly features. Miro was second in terms of
A. Installation friendliness and Carmen trailed in last place. The following
Each solution is provided as source code. The source code is sections provide specific feedback on each of the three candi-
extracted (if required), configured, and compiled. All solutions date solutions.
used similar installation procedures with TAO and ACE being 1) Player: Player was subjectively judged as the easiest
the exception, as it used mwc instead of the Gnu autotools. solution to use. Player’s documentation, example code and
Table II subjectively rates each solution with respect to ease close ties with the Stage simulator make its potential easily
of installation. apparent to even the most casual user. Though, this conclusion
Player and Carmen/IPC are self-contained solutions that may simply be a reflection of the simple client/server model
do not require other source code modules. Miro is not self- employed.
contained, depending upon the ACE/TAO toolkits, both of 2) Carmen/IPC: Carmen suffered from a lack of doc-
which must be compiled from source. In addition, Miro umentation where the only available documentation was a
requires cvs access to the Miro repository in order to acquire small README file in the source code directory. Additionally,
the most recent version. Thus, the user is further burdened the source files were thin on embedded documentation; they
with handling the version incompatibilities that inevitably included neither useful file headers describing a file’s purpose
nor, for the most part, descriptive function headers. Simply put, no simple facility for distributing intermediate results between
the user was forced to read the source code in order to under- independent processes.
stand Carmen’s implementation and capabilities. Conversely, 2) Carmen: Unfortunately, the lack of documentation made
the IPC middleware, upon which Carmen is built, included a it difficult to assess Carmen’s capabilities since any in-
detail usage manual. depth exploration required a significant expenditure of time
3) Miro/ACE/TAO: Both ACE and TAO are mature middle- and effort. This being noted, DRDC researchers were able
ware toolkits and have an abundance of documentation avail- to achieve a reasonable understanding of Carmen’s imple-
able. The TAO version of CORBA is a very large and complex mentation philosophy and its usage. Unlike Player/Stage,
software suite, which makes it difficult to comprehend its Carmen does not follow the client/server analogy, rather it
capabilities by simply reading a book or manual. Fortunately, implements a publish-subscribe paradigm where individual
the Miro framework hides many of the CORBA and ACE services exchange data using IPC. This allows modules to
details; thus, reducing the requirement to understand CORBA’s run as individual processes, calling upon IPC as a means of
complexity. The Miro website doesn’t provide a large amount synchronization and data exchange. Under this paradigm, the
of information, but the Miro manual gives the user an adequate structure of these data exchanges is crucial to understanding
overview of Miro’s implementation and capabilities. Although the systems operation, but, unfortunately, IPC contains no
the manual covers a large number of topics, it does not include formal mechanisms for defining these messages.
tutorials or examples with which the user can explore Miro’s 3) Miro: Miro was the most the powerful, complex
capabilities. and flexible of all the architectures reviewed. Miro, us-
ing ACE/TAO middleware, supports multiple messaging
C. Capabilities
paradigms, allowing data to flow in a client/server manner, as
Each solution was also evaluated for its capabilities, as given the publication of and the subscription to events, or both. The
in the following list: development of components is encouraged by Miro via the
• the use of middleware, CORBA Interface Description Language, which defines the
• the capabilities of the middleware, data and methods associated with message objects. Finally,
• availability of multiple message passing paradigms, Miro’s framework implementation allows the user to evolve
• the use of a framework based approach, an architecture to meet his particular needs. Not surprisingly,
• the encouragement of a component based implementa- constructing these impressive capabilities requires complex
tion, and software. Although Miro shields the user from a significant
• the suitability to multi-process implementations. portion of this complexity, by hiding many implementation
TableIV ranks each of the candidate solutions with respect details, the overall implementation is still complex and can be
to these capabilities. difficult to understand.
Solution Miro Player Carmen D. Discussion
Middleware Yes No Yes
Middleware Capabilities 3 1 2
Of the three solutions investigated in detail, DRDC only
Messaging Paradigms 3 1 1 considered adopting Player and Miro.
Components 3 2 1 Player was the clear leader in terms of ease of installation
Frameworks 3 2 2 and use. With a relatively modest effort, users were able to
Multi-Process 3 1 2
install and run Player examples under the Stage simulation
TABLE IV environment. Additonally, DRDC researchers controlled the
R ELATIVE CAPABILITIES OF THE CANDIDATE SOLUTIONS RANKED ON A Segway RMP robot using the available Segway driver and
SCALE FROM 1 ( POOR ) TO 3 ( GOOD ). the SICK laser device driver. Trials demonstrated the Segway
avoiding obstacles while navigating to a target waypoint using
the provided VFH obstacle avoidance software, a GPS, and
As can be seen in Table IV, Miro is the most capable waypoint following.
solution. Specific comments on each individual solution are Although Player has many positive attributes, its limited ca-
given in the following sections. pabilities prompted DRDC researchers to examine other pos-
1) Player: Quoting the Player FAQ, “Player is a device sibilities. Despite the significant effort involved, researchers
server that provides a powerful, flexible interface to a variety installed and investigated the Miro framework. These inves-
of sensors and actuators”. Thus, at its core, Player uses a tigations revealed that Miro’s capabilities were significantly
client/server model to provide a defined, uniform and con- more extensive than Player’s and it was concluded that Miro
sistent interface to devices. This uniformity encourages the would better meet DRDC’s requirements.
development of components, since device drivers following DRDC adapted and extended Miro to support the Kyoker
the Player standard are portable and reusable. Although Player Industries Raptor, hydrostatic all wheel drive utility vehicle,
has many admirable features, its lack of middleware and its as shown in Figure 1. The Raptor vehicle is capable of fully
client/server focus limit its flexibility. Additionally, it is not autonomous operations and hosts a complete suite autonomy
not well suited for multi-process implementation since there is applications. Overall, the Raptor vehicle development totalled
Robotics Controls Linux Windows Software Skills
1 5 3 1 5 1 1
2 5 5 1 5 5 4
5 1 5 5 5 5 5
4 1 5 0 5 0 0
5 5 5 5 5 5 4
6 5 1 0 5 5 2
7 5 5 0 5 1 0
8 5 1 5 5 5 4
9 0 0 5 5 5 5
10 0 0 0 5 0 4
11 0 1 0 5 0 1
12 0 1 0 5 0 0
TABLE V
Fig. 1. The Raptor Vehicle Unmanned Ground Vehicle. I NITIAL AND SUBSEQUENT SKILL SETS OF DRDC TEAM MEMBERS,
RANKED ON A SCALE OF 0 (N ONE ) TO 5 (E XPERT ).