1
Abstract—The need for intelligent unmanned vehicles has been
steadily increasing. These vehicles could be air-, ground-, space-,
or sea-based. This paper will review some of the most common
software systems and methods that could be used for controlling
such vehicles. Early attempts at mobile robots were confined to
simple laboratory environments. For vehicles to operate in real-
world noisy and uncertain environments, they need to include
numerous sensors and they need to include both reactive and
deliberative features. The most effective software systems have
been hierarchical or multi-layered. Many of these systems mimic
biological systems. This paper reviews several software
approaches for autonomous vehicles. While there are similarities,
there are differences as well. Most of these software systems are
very difficult to use, and few of them have the ability to learn.
Autonomous vehicles promise remarkable capabilities for both
civilian and military applications, but much work remains to
develop intelligent systems software which can be used for a wide
range of applications. In particular there is a need for reliable
open-source software that can be used on inexpensive
autonomous vehicles.
Index Terms—Mobile robots, autonomous vehicles, intelligent
agents, software, and artificial intelligence.
INTRODUCTION
Mobile robots, or autonomous vehicles, are becoming
widely used in the military and civilian sectors. These include
unmanned air vehicles (UAV), unmanned ground vehicles
(UGV), unmanned spacecraft, and unmanned underwater
vehicles (UUV). Most of the existing systems are only semi-
autonomous, and rely on regular human intervention. To go
beyond this capability will require sophisticated, yet flexible,
software systems. While there are many existing software
packages that could be used for mobile robots, they all have
their advantages and disadvantages. This paper attempts to
describe some of the more common software packages. It is
not possible to describe all such packages, so we have chosen
some of the most common systems for review here.
Intelligent systems for mobile robots are still in their
infancy. There is no perfect system yet. The ultimate system
may well be a hybrid system, which uses combinations of the
systems described below (or those not mentioned here).
Future systems will most likely rely on combinations of
computational intelligence methods, such as traditional
control, fuzzy logic, neural networks, genetic algorithms, rule-
based methods, or symbolic artificial intelligence.
In building intelligent systems software for mobile robots or
unmanned vehicles, it will be valuable to consider biological
systems, especially humans. An intelligent system will need to
incorporate capabilities such as sensing, reasoning, action,
learning, and collaboration.
It is useful to consider the human brain as the ultimate
intelligent controller. It is an astounding device and is still not
well understood. It has an estimated 10
11
neurons (10
14
bytes
of memory) and can process at roughly 10
16
operations/second
[1]. Large parallel supercomputers are approaching the speed
and power of the human brain [1]. But just as fascinating are
the human sensor systems (touch, hearing, sight, smell, and
taste). Replicating this vast array of sensors will be just as
daunting as replicating the human brain. An intelligent system
for mobile robots will need to efficiently handle the wide
variety of possible sensor systems also, and perform data
fusion. It will also need to emulate (to some extent) the motor
control functions of humans (actions), which means the
software will need a mechanism for the output of information
to motors and servos.
There are several good references on control approaches for
robotics [2-5]. The most promising approaches use layered or
hierarchical control strategies, for example: subsumption [2],
behavior-based [3], reference model [4], or three-layer [5].
Traditional artificial intelligence (AI) approaches [6] have
been of limited value in developing autonomous robots,
however fuzzy logic, neural networks, genetic algorithms, and
symbolic processing may be useful as components within the
autonomous systems software. In addition, cognitive
architectures may also be very useful [7].
The systems described below all vary in their ability to
incorporate sensing, reasoning, action, learning, and
collaboration. Machine learning [8] is probably the most
difficult part of the problem. Few of the systems below
(except for the cognitive architectures and the neural
networks) have the ability to learn.
Collaboration is also a crucial feature of these systems.
They will be most interesting and useful when there are many
of them networked together. Getting one system to
intelligently operate in the real world is extremely
A Review of Intelligent Systems Software for
Autonomous Vehicles
Lyle N. Long
*
, Scott D. Hanford, Oranuj Janrathitikarn, Greg L. Sinsley, and Jodi A. Miller
The Pennsylvania State University
*
Email: LNL@psu.edu, Telephone: (814) 865-1172
69
Proceedings of the 2007 IEEE Symposium on Computational
Intelligence in Security and Defense Applications (CISDA 2007)
1-4244-0700-1/07/$20.00 ©2007 IEEE