640 likes | 1.02k Views
Robots in the classroom: Motivating Students and Machines. Douglas Blank Computer Science Bryn Mawr College. 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. Big picture.
E N D
Robots in the classroom: Motivating Students and Machines Douglas Blank Computer Science Bryn Mawr College Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
What is thought? What is consciousness? What drives a system to want to learn? How can we create such a system? Developmental Robotics Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
Two practical questions • What robot to use? • How can students participate in such research? Bryn Mawr College Institute for Personal Robots in Education
What robot to use? Bryn Mawr College Institute for Personal Robots in Education
How can we explore the “big picture”, given that most of our students are just now encountering CS and robotics? How can students participate? Bryn Mawr College Institute for Personal Robots in Education
How can we explore the “big picture”, given that most of our students are just now encountering CS and robotics? Make the robots accessible. How can students participate? Bryn Mawr College Institute for Personal Robots in Education
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 Pyro Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
“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 Bryn Mawr College Institute for Personal Robots in Education
Can run the same control programs Bryn Mawr College Institute for Personal Robots in Education
Servers: Robots and Simulators Bryn Mawr College Institute for Personal Robots in Education
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) Brain: A Pyro Control Program Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
Two additional questions • Where are all of the computer science students? • What happened? Bryn Mawr College Institute for Personal Robots in Education
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 women’s share of these jobs was declining, their absolute numbers continued to increase through the year 2000, but then started to decline.” Bryn Mawr College Institute for Personal Robots in Education
By any measure, we’re failing Bryn Mawr College Institute for Personal Robots in Education
Bryn Mawr College Computer Science • Small, all women’s liberal arts college outside Philadelphia • CS is newest major • Computational Methods Minor • 1 - 5 Majors, Minors each year Bryn Mawr College Institute for Personal Robots in Education
Bryn Mawr College Computer Science Deepak Kumar Dianna Xu Doug Blank Bryn Mawr College Institute for Personal Robots in Education
Microsoft’s 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 Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
A Challenge How would you change CS education, if you were given a million dollars? Bryn Mawr College Institute for Personal Robots in Education
Personal Robot robot.turnLeft(.5) robot.speak(“Hello”) Gyro running Myro Bryn Mawr College Institute for Personal Robots in Education
CS1: Introduction to Computing Bryn Mawr College Institute for Personal Robots in Education
CS2: Data Structures Bryn Mawr College Institute for Personal Robots in Education
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? Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
Parallax Scribbler Bryn Mawr College Institute for Personal Robots in Education
Prototypes Bluetooth Serial Transmitter/ Receiver Myro USB Bluetooth Dongle Bryn Mawr College Institute for Personal Robots in Education
IPRE Robot Kit Bryn Mawr College Institute for Personal Robots in Education
Parallax Scribbler Bryn Mawr College Institute for Personal Robots in Education
Scribblers: Day 1 Bryn Mawr College Institute for Personal Robots in Education
Editing Environment (IDLE) Bryn Mawr College Institute for Personal Robots in Education
More on Myro • Pyro • Functions • Objects • Movement • Sensing • Sounds • IM • Future Myro Bryn Mawr College Institute for Personal Robots in Education
Myro, First Steps >>> 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! >>> robot = Scribbler(“com4”) Waking robot from sleep... Hello, I'm Scribby! >>> robot.beep(1, 800) >>> robot.joyStick() >>> ^D Bryn Mawr College Institute for Personal Robots in Education
SimScribbler Bryn Mawr College Institute for Personal Robots in Education
Functional Interface: Movement initialize(“com4”) turnLeft(value) turnRight(value) forward(value) backward(value) stop() # values are between 0 and 1 Bryn Mawr College Institute for Personal Robots in Education
Object Interface: Movement robot = Scribbler(“com4”) robot = SimScribbler() robot.turnLeft(value) robot.turnRight(value) robot.forward(value) robot.backward(value) robot.stop() Bryn Mawr College Institute for Personal Robots in Education
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 Bryn Mawr College Institute for Personal Robots in Education
Functional Interface: Sensors getLight(position) getLine(position) getStall() getIR(position) getInfo() # returns dictionary getAll() # returns dictionary get(item, position) get(“light”, “left”) get(“stall”) Bryn Mawr College Institute for Personal Robots in Education
Functional Interface: Sounds beep(duration, freq1) beep(duration, freq1, freq2) speak(“Hello world!”) getVoices() setVoice(“Fred”) Bryn Mawr College Institute for Personal Robots in Education
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 c#4 1;”) robot.playSong(s1) robot.playSong(s2) Bryn Mawr College Institute for Personal Robots in Education
Chat (IM) Interface c1 = Chat(“sarah”, “password”) c2 = Chat(“joe”, “sEcrEt”) c1.send(“joe”, “Hi, what’s up?”) c2.receive() [(‘sara@myro.roboteducation.org', ‘Hi, what’s up?')] Bryn Mawr College Institute for Personal Robots in Education
Chat Robot Remote Control >>> robot = Scribbler() >>> robot.setName(“Arnold”) >>> robot.initializeRemoteControl("mypassword") >>> robot.processRemoteControlLoop() # on a computer, far, far away: >>> chat = Chat("myname", “passwerd") >>> chat.send(“Arnold", "robot.turnLeft(.4)") >>> chat.receive() Bryn Mawr College Institute for Personal Robots in Education
Reading the Light Sensors robot.getLight(“left”) robot.getLight(“center”) robot.getLight(“right”) robot.getLight() [657, 1453, 1025] Light sensors Bryn Mawr College Institute for Personal Robots in Education