Along with the software (Pyro) we are also developing extensive curricular modules for learning about and experimenting on various robot behaviors and control paradigms. We have organized the control paradigms into modules that can either be followed as presented from the beginning to the end, or one could use individual modules depending on their pedagogical needs. This way, one can either adopt the entire set of materials as is for a single course, or use selected modules to supplement existing courses. See the Courses section in the navigation bar for examples of courses these materials have been (or are being) used at various institutions. If you use Pyro in your courses, please send us your course links so we can add them there.

The planned modules are listed below. The first two modules, which introduce the Pyro software and basic robot control concepts, should be used prior to any other module. Each module has related exercises, reading materials, and additional software that is included in the Pyro distribution. Go directly to Pyro Modules.

Pyro Modules

1. Introduction
This module provides as overview of Pyro. Topics include: starting up the software, connecting to a simulator, connecting to a robot, using existing robot controllers, and learning the basics of the Python language.
2. Reactive Control
This module introduces the most simple robot controllers, starting with Braitenberg Vehicles which connect motor responses directly to sensor inputs. Topics include: understanding sensor responses (light, infrared, sonar, and bump), understanding actuator behavior (differential drive and gripper), recognizing the problem of noise in the real world, and learning to tightly couple sensors and actuators for effective real-time control.
3. Behavior-Based Control
This module discusses the idea of behavior-based control. Two main methodologies are explored: subsumption architecture and a more general approach using fuzzy logic. Topics include: behavior design, multi-tasking, motor and perceptual schema, fuzzy logic, finite state automata, and creating behaviors for obstacle avoidance, picking up trash, and going to specific locations.
4. Vision
This module explores visual processing for mobile robots. The man focus is integrating vision as a sensor in robotics tasks. Topics include: vision algorithms (edge detection, blob detection, filters, convolution, optic flow, color histograms), and using vision algorithms to locate an object by color or by shape, detect motion, track motion, identify people, etc.
5. Planning and Reasoning
This module focuses on the deliberative aspects of mobile robotics. Graph search methodologies and logic form the foundation of this module. Topics include: first-order logic, state-space diagrams, and search methods.
6. Learning
This module will explore robot learning and adaptation. Two major paradigms are presented: neural networks and evolutionary computation. Topics include: designing appropriate tasks, neural network architectures and learning methods, genetic algorithms, combining neural networks and genetic algorithms, and adapting solutions to tasks that were previously engineered.
7. Mapping and Localization
This module explores issues in creating and following topological and spatial maps. Topics include: building a map, following a map, localization, occupancy grids, and probabilistic states.
8. Multi-Agent Robotics
This module will explore coordination and communication issues in multi-agent robotics. Topics include: emulating behaviors of groups of animals, building a shared map of a space, coordinated behavior to solve problems that a single robot could not accomplish, and communication methods.
Appendix A: Learning Python
This section will present a concise introduction to the Python programming language.
Appendix B: Pyro Technics
This section will outline the steps for obtaining, installing, and configuring Pyro, and the robot platforms.
Appendix C: Pyro Quick Reference

Go directly to Pyro Modules


Project Home

The Proposal (full text PDF document)

Educational Materials

Pilot Schools





Project Event Log