| 
       Curriculum 
      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 
     | 
    Links 
      Project
                Home       
      The
            Proposal (full text PDF document) 
      Educational Materials     
    Pilot Schools 
        
    Workshops 
        
    Courses         Publications 
    Press 
    Project
          Event Log 
    Contributors  |