Pyro, Glue, and Clay - PowerPoint PPT Presentation

About This Presentation
Title:

Pyro, Glue, and Clay

Description:

Graphs, plots, bar charts, other visualizations. Libraries and modules ... GA to evolve music. Student projects and extension docs ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 25
Provided by: csH2
Learn more at: https://www.cs.hmc.edu
Category:
Tags: clay | glue | pyro

less

Transcript and Presenter's Notes

Title: Pyro, Glue, and Clay


1
Pyro, Glue, and Clay
  • Doug Blank
  • Bryn Mawr College

2
What is Pyro?
  • Pyro is the software component of a recent NSF
    grant, Beyond LEGOs Hardware, Software, and
    Curriculum for the Next Generation Robot
    Laboratory
  • Douglas Blank, Bryn Mawr College
  • Deepak Kumar, Bryn Mawr College
  • Lisa Meeden, Swarthmore College
  • Holly Yanco, University of Massachusetts Lowell

3
What is Pyro?
  • Code for exploring robotics, written in Python
  • GUI, libraries, abstractions, and collection of
    teaching materials
  • Robot, Device, OS, and Paradigm independent
  • Designed for students to jump-right-in, but to
    also pedagogically scale with the user's
    experience
  • Pedagogical glue to aid exploration

4
Python
  • Looks like pseudo-code
  • Indentation matters
  • Object system built on top of functions
  • Support for functional programming
  • Large collection of libraries
  • Interactive
  • Can be easily integrated with other low-level
    languages (via SWIG)

5
Pyro GUI
6
Servers Robots and Simulators
7
Pyro GUI
8
Brain A Pyro Control Program
  • from pyrobot.brain import Brain
  • class Avoid(Brain)
  • def step(self)
  • self.robot.move(1, 0)
  • def INIT(engine)
  • return Avoid('My Avoid Brain', engine)

9
Pyro Architecture
pyrobot.robot
10
Pyro Architecture
Device
Device
Device
Gripper, Camera, PTZ, etc.
Server
Robot or Simulator
Low-level C
Pyro
Python code
Brain
User's Python code
Pyro Libraries
Python Libraries
11
Pythons all the way down
  • GUI (Tkinter)
  • Graphs, plots, bar charts, other visualizations
  • Libraries and modules
  • Neural networks, self-organizing map,
    backpropagation of error, genetic algorithm,
    genetic programming, mapping, RL, etc.
  • Vision interface
  • Display, and filter application
  • Complete Simulator
  • Sonar, Gripper, Camera, Lights, Bulbs

12
Pyro Abstractions
  1. Default Range Sensor
  2. Sensors Report in Robot Units
  3. Named Sensor Groups
  4. Generalized Motion Control
  5. Abstract Devices

13
Khepera and Pioneer can run the same control
progams
14
Pyro as Pedagogical Glue
  • Pyro was designed to explore AI and robotics
  • Teaching drives the abstractions
  • Develop, test, explain, repeat.
  • Introduction of robots into the AI classroom can
    help teach AI
  • Span the gap between agents and robots
  • Introduce these exciting topics to a wider and
    more diverse audience

15
Exploring Cognitive Science
  • Braitenberg's Vehicles
  • Exploration of simple creatures and interesting
    behaviors
  • Law of uphill analysis and downhill invention

16
A Simple Brain Braitenberg1
  • from pyrobot.brain import Brain
  • class Vehicle(Brain)
  • def setup(self)
  • self.robot.light0.units "SCALED"
  • def step(self)
  • leftSpeed max(s.value for s in
    self.robot.light0"left")
  • rightSpeed max(s.value for s in
    self.robot.light0"right")
  • speed (leftSpeed rightSpeed)/2.0
  • print "speed", speed
  • self.motors(speed, speed)

17
Karel the Robot, Hunt the Wumpus
18
Game Playing Konane, Hawaiian Checkers
19
Robotics
  • Mapping and Localization
  • Behavior-based control
  • Fuzzy logic
  • Subsumption
  • State machines
  • Vision
  • Multi-robot cooperation

20
Developmental Robotics
21
Pyro as Modeling Clay
  • Modular design allows unique combinations
  • GA NN evolving robots
  • Fuzzylogic statemachine FSM
  • Designed to be a framework for extension
  • U Pitt Pyro Unreal Tournament USaR
  • GA to evolve music
  • Student projects and extension docs
  • Pyro has served as a basis for additional NSF
    proposals

22
Pyro Student Projects
23
Pyro, The Future
  • Planning a new version in .NET
  • IronPython, but also language agnostic
  • Rework everything (including vision) into a
    single easy-to-use system
  • Sophisticated, yet extensible simulator
  • Standardized protocols at all levels
  • Advanced connections to latest and greatest
    robots and simulators

24
PyroRobotics.org
Write a Comment
User Comments (0)
About PowerShow.com