Bryn Mawr College - PowerPoint PPT Presentation

1 / 59
About This Presentation
Title:

Bryn Mawr College

Description:

Neural networks, self-organizing map, backpropagation of error, genetic ... Chapter 1 The World of Robots. Chapter 2 Robots: Personal or Otherwise ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 60
Provided by: computi221
Category:
Tags: bryn | college | mawr

less

Transcript and Presenter's Notes

Title: Bryn Mawr College


1
Robots in the classroom Motivating Students and
Machines
  • Douglas Blank
  • Computer Science
  • Bryn Mawr College

2
Big picture
  • Would like to create an artificial intelligence
  • Needs a body, a physical presence
  • And a whole lot of learning
  • And a desire to learn

3
Big picture
  • Would like to create an artificial intelligence
  • Needs a body, a physical presence
  • And a whole lot of learning
  • And a desire to learnDevelopmental Robotics

4
Developmental Robotics
  • What is thought?
  • What is consciousness?
  • What drives a system to want to learn?
  • How can we create such a system?

5
Developmental Robotics
  • I believe in strong AI
  • Such an intelligence may be quite different from
    our own
  • Will probably be as complex as our own
    intelligence, and just as hard to figure out how
    it works
  • Will lead to conscious systems, within 50 years

6
Two practical questions
  • What robot to use?
  • How can students participate in such research?

7
What robot to use?
8
How can students participate?
  • How can we explore the big picture, given that
    most of our students are just now encountering CS
    and robotics?

9
How can students participate?
  • How can we explore the big picture, given that
    most of our students are just now encountering CS
    and robotics?
  • Make the robots accessible.

10
Pyro
  • Pyro is the software component of a recently
    completed 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

11
Pyro
  • Code for exploring robotics and AI, written in
    Python
  • GUI, libraries, abstractions, and collection of
    teaching materials
  • Robot, Device, OS, and Paradigm independent
  • Designed for beginning AI students to
    jump-right-in, but to also pedagogically scale as
    the user gains experience
  • A community of users, teachers and students

12
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

13
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, 2D/3D

14
Can run the same control programs
15
Servers Robots and Simulators
16
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)

17
Pyro, Python Robotics
  • http//PyroRobotics.org
  • Designed for advanced CS students
  • Ability to do PhD topics easily as senior
    projects
  • Modules for exploring many topics in AI and
    cognitive science
  • Not appropriate for CS1

18
Two additional questions
  • Where are all of the computer science students?
  • What happened?

19
Commission on Professionals in Science and
Technology
  • In computer science, the percentage of jobs held
    by women was lower at the end of the 20 year
    period than it was in 1983.  Things were so bad
    that even while womens share of these jobs was
    declining, their absolute numbers continued to
    increase through the year 2000, but then started
    to decline.

20
By any measure, were failing
21
Bryn Mawr College Computer Science
  • Small, all womens liberal arts college outside
    Philadelphia
  • CS is newest major
  • Computational Methods Minor
  • 1 - 5 Majors, Minors each year

22
Bryn Mawr College Computer Science
Deepak Kumar
Dianna Xu
Doug Blank
23
Microsofts Educational Robot Initiative
  • Develop an institute to explore robots and
    education
  • Develop curricular materials for introductory
    computing courses
  • Make them accessible
  • Make them appeal to a broad range of students

24
Robots could help?
  • Provides motivation to learn CS
  • We had a better programming environment for
    beginning students
  • Experience with making advanced robotics
    accessible
  • Yes, Person Robots could help make CS personal

25
Institute for Personal Robots in Education
  • Begun July, 2006 from a 1 million grant from
    Microsoft Research
  • Apply the philosophy of making computer science
    relevant and accessible to CS1
  • Develop a robot, software, and curricular
    materials for CS1 and CS2
  • Foster the trend of putting the liberal arts into
    engineering and technology-related fields

26
A Challenge
  • How would you change CS education, if you were
    given a million dollars?

27
Personal Robot
robot.turnLeft(.5) robot.speak(Hello)
Gyro running Myro
28
CS1 Introduction to Computing
29
CS2 Data Structures
30
Approach
  • Robotics and computing interleaved.
  • Robotics serves as the motivating context for the
    computing.
  • To improve transfer
  • To demonstrate relevance
  • Start with the Project
  • What can we ask students to do that they will
    find motivating and relevant?
  • Then, what computing do we need (and in what
    order) to achieve that project?

31
15 Chapter/Week Outline
  • Chapter 1 The World of Robots
  • Chapter 2 Robots Personal or Otherwise
  • Chapter 3 Sensing the World
  • Chapter 4 Making Decisions
  • Chapter 5 Behaviors
  • Chapter 6 Control Paradigms
  • Chapter 7 Making Music
  • Chapter 8 Communication
  • Chapter 9 Artificial Intelligence
  • Chapter 10 Computing Computation
  • Chapter 11 Games Soccer anyone?
  • Chapter 12 Social Robots Entertainment
  • Chapter 13 Swarms
  • Chapter 14 Robot Ethics
  • Chapter 15 Smart Appliances

32
Myro Pyro, Reloaded
  • Implemented in .NET
  • Use IronPython, but be language agnostic
  • Simplified framework (zero mystery)
  • Rework everything (including C code) into a
    single framework
  • Sophisticated, yet extensible simulator
  • Standardized protocols between levels
  • Remain compatible with advanced robots and
    simulators

33
Parallax Scribbler
34
Prototypes
Bluetooth Serial Transmitter/ Receiver
Myro
USB Bluetooth Dongle
35
IPRE Robot Kit
36
Parallax Scribbler
37
Scribblers Day 1
38
Editing Environment (IDLE)
39
More on Myro
  • Pyro
  • Functions
  • Objects
  • Movement
  • Sensing
  • Sounds
  • IM
  • Future Myro

40
Myro, First Steps
  • gtgtgt from myro import
  • Myro, (c) 2006 Institute for Personal Robots in
    Education
  • See http//www.roboteducation.org/ for more
    information
  • Version 0.8.0, Revision 1.80, ready!
  • gtgtgt robot Scribbler(com4)
  • Waking robot from sleep...
  • Hello, I'm Scribby!
  • gtgtgt robot.beep(1, 800)
  • gtgtgt robot.joyStick()
  • gtgtgt D

41
SimScribbler
42
Functional Interface Movement
  • initialize(com4)
  • turnLeft(value)
  • turnRight(value)
  • forward(value)
  • backward(value)
  • stop()
  • values are between 0 and 1

43
Object Interface Movement
  • robot Scribbler(com4)
  • robot SimScribbler()
  • robot.turnLeft(value)
  • robot.turnRight(value)
  • robot.forward(value)
  • robot.backward(value)
  • robot.stop()

44
Movement Interface, Advanced
  • translate(value)
  • rotate(value)
  • move(tvalue, rvalue)
  • robot.translate(value)
  • robot.rotate(value)
  • move(tvalue, rvalue)
  • values are between -1 and 1

45
Functional Interface Sensors
  • getLight(position)
  • getLine(position)
  • getStall()
  • getIR(position)
  • getInfo() returns dictionary
  • getAll() returns dictionary
  • get(item, position)
  • get(light, left)
  • get(stall)

46
Functional Interface Sounds
  • beep(duration, freq1)
  • beep(duration, freq1, freq2)
  • speak(Hello world!)
  • getVoices()
  • setVoice(Fred)

47
Object Interface Sounds
  • robot.beep(duration, freq1)
  • computer.beep(duration, freq1)
  • computer.speak(Hello world!)
  • computer.getVoices()
  • computer.setVoice(Fred)
  • s1 makeSong(a5 1 b5 .5 c5 .5)
  • s2 makeSong(a5 a4 1 c4 c4 1)
  • robot.playSong(s1)
  • robot.playSong(s2)

48
Chat (IM) Interface
  • c1 Chat(sarah, password)
  • c2 Chat(joe, sEcrEt)
  • c1.send(joe, Hi, whats up?)
  • c2.receive()
  • (sara_at_myro.roboteducation.org', Hi, whats
    up?')

49
Chat Robot Remote Control
  • gtgtgt robot Scribbler()
  • gtgtgt robot.setName(Arnold)
  • gtgtgt robot.initializeRemoteControl("mypassword")
  • gtgtgt robot.processRemoteControlLoop()
  • on a computer, far, far away
  • gtgtgt chat Chat("myname", passwerd")
  • gtgtgt chat.send(Arnold", "robot.turnLeft(.4)")
  • gtgtgt chat.receive()

50
Reading the Light Sensors
  • robot.getLight(left)
  • robot.getLight(center)
  • robot.getLight(right)
  • robot.getLight()
  • 657, 1453, 1025

Light sensors
51
Security Guard
  • from myro import
  • robot Scribbler()
  • vals 0 for i in range(100)
  • calibration
  • for i in range(100)
  • valsi robot.get("light", "left")
  • avg sum(vals)/100.0 securing perimeter!
  • within some tolerance
  • while abs(robot.get("light", "left") - avg) lt 50
  • wait(1)
  • intruder alert!
  • while 1
  • robot.beep(1, 1000)
  • robot.beep(1, 500)

52
Possible topics in CS1
53
Karel the Robot
54
Modeling Animals
  • How do animals sense light?
  • Why do moths move to the light?
  • How do they know which way to turn to get there?
  • Lets model light-seeking behavior

55
Connections to Biology and Psychology
56
Robots Gone Berserk
57
Summary
  • The IPRE hopes to support all robot-related
    educational activities, especially those
    appropriate for introductory courses that appeal
    to the non-traditional computing populations

58
Summary
  • The IPRE hopes to support all robot-related
    educational activities, especially those
    appropriate for introductory courses that appeal
    to the non-traditional computing populations so
    that we can make conscious robots

59
Further information
  • www.roboteducation.org
  • blog.roboteducation.org
  • wiki.roboteducation.org
Write a Comment
User Comments (0)
About PowerShow.com