Page 15 - Introduction to AI Robotics
P. 15
Preface
This book is intended to serve as a textbook for advanced juniors and seniors
and first-year graduate students in computer science and engineering. The
reader is not expected to have taken a course in artificial intelligence (AI),
although the book includes pointers to additional readings and advanced
exercises for more advanced students. The reader should have had at least
one course in object-oriented programming in order to follow the discussions
on how to implement and program robots using the structures described in
this book. These programming structures lend themselves well to laboratory
exercises on commercially available robots, such as the Khepera, Nomad 200
series, and Pioneers. Lego Mindstorms and Rug Warrior robots can be used
for the first six chapters, but their current programming interface and sensor
limitations interfere with using those robots for the more advanced material.
A background in digital circuitry is not required, although many instructors
may want to introduce laboratory exercises for building reactive robots from
kits such as the Rug Warrior or the Handy Board.
Introduction to AI Robotics attempts to cover all the topics needed to pro-
gram an artificially intelligent robot for applications involving sensing, nav-
igation, path planning, and navigating with uncertainty. Although machine
perception is a separate field of endeavor, the book covers enough computer
vision and sensing to enable students to embark on a serious robot project
or competition. The book is divided into two parts. Part I defines what are
intelligent robots and introduces why artificial intelligence is needed. It cov-
ers the “theory” of AI robotics, taking the reader through a historical journey
from the Hierarchical to the Hybrid Deliberative/Reactive Paradigm for or-
ganizing intelligence. The bulk of the seven chapters is concerned with the
Reactive Paradigm and behaviors. A chapter on sensing and programming
techniques for reactive behaviors is included in order to permit a class to get