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