Title: SIGCSE Workshop 3/9/07
1Emerging Robotics Resources for Undergraduate CS
Doug Blank
Zach Dodds
Bryn Mawr College
Harvey Mudd College
SIGCSE Workshop 3/9/07
2First part the landscape
Components, Curriculum, and Community
AI Magazine 27(1)
The IRPE and the Myro Scribbler (Institute for
Personal Robots in Education)
Used in CS 1 this term
break before 830
3Second part hands-on experimentation
Myro IPRE's robotics kit
Python-based interaction
iRobot's Create platform
computationally
we have several others as well
4Components, Curriculum, and Community
Considerations for undergraduate CS robotics
5Components, Curriculum, and Community
Wow!
ePuck
Lego NXT
Surveyor
Scribbler
Create
6Components, Curriculum, and Community
computation
price
t
reliability
learning curve
7Components, Curriculum, and Community
computation
simulators
Webots
200 per seat
Stage/Gazebo
Microsoft's Robotics Studio
Competition Simulators
price
3
reliability
8Components, Curriculum, and Community
computation
"research" robots
AIBO
Khepera
Pioneer
3
3000
reliability
and many others
9Components, Curriculum, and Community
computation
Hemisson
Lego RCX
"traditional" microcontroller-based platforms
Handy Board
BOEbot
price
300
reliability
10Components, Curriculum, and Community
computation
?
simulators
research robots
traditional microcontroller-based platforms
price
3
300
3000
reliability
11Components, Curriculum, and Community
computation
"peripheral" platforms
simulators
research robots
traditional microcontroller-based platforms
price
3
300
3000
reliability
12Components, Curriculum, and Community
computation
"peripheral" platforms
375 (Surveyor)
250 NXT
700 (ePuck)
150 Create
70 Scribbler
price
3
300
3000
reliability
Scribbler
13Components, Curriculum, and Community
computation
peripheral to what?
Qwerk board, 300
PC, 0?
Evolution ER1, 300 (discontinued)
BlackFin Handy Board, 800
BrainStem, 100
price
3
300
3000
reliability
14Peripherals' plusses
Low-cost no custom processing
Pedagogical scalability
Flexible, extendable
Focus on computation
15And minuses
Aesthetics "But it's so bulky"
Emerging smaller support community
Off-the-shelf but not out-of-the-box
16Roomba Create
Jan. '06 - Serial Interface to iRobot's Roomba
17Roomba Create
Actuation/Outputs
Serial
LEDs (5-7, color) Piezospeaker Drive wheels (L
R) Cleaning motors (3) Built-in behaviors
Clean Spot clean Dock
USB
Sensors/Inputs
Bluetooth
Wheel encoders (2) Bump sensors (2) IR Wall
sensor (1) Cliff sensors (7) Temperature Electrica
l (5) Buttons (3-4) Dirt-detection (1-2) IR
receiver (0-255) Virtual wall Remote Control
Interfaces
18Roomba Create
CS 1 and CS 2
Chatham College '06
19Roomba Create
Jan. '07 - iRobot releases Create
Replaces the roomba's API
"Software independent"
Scale human vs. desktop
iRobot's teasers
Supports open-ended projects well
20Components, Curriculum, and Community
Reinforcing computational themes
21Components, Curriculum, and Community
Weeks 1-3
Getting moving
Built-in sensors
Building motion models
Weeks 4-6
Vision and sensing
Landmarks for ranging
GPS, tactile, and sonar
Weeks 7-8
Monte Carlo Localization
22Components, Curriculum, and Community
Weeks 1-3
Getting moving
Built-in sensors
Building motion models
Weeks 4-6
Vision and sensing
Landmarks for ranging
GPS, tactile, and sonar
Weeks 7-8
Monte Carlo Localization
23Components, Curriculum, and Community
Finding the molding and its slope
Leading the way
Weeks 4-6
Vision and sensing
The game of Set
24Components, Curriculum, and Community
Lather (move around randomly) Rinse (cull poor
matches) Repeat
Weeks 7-8
Monte Carlo Localization
25Components, Curriculum and Community
26Components, Curriculum and Community
MCL _at_ home
27Components, Curriculum, and Community
Weeks 10-15 Final Projects
Competition Preparation
Reactive task control
Deliberative AI
28Components, Curriculum, and Community
Exhibitions and Competitions
Robocup's many leagues
Beyond Botball
SIGCSE
AAAI
, Michigan's, Trinity, Darpa GC, Mini GC, and
many others
29Components, Curriculum, and Community
AAAI exhibition Vancouver, July 22-26, 2007
Benefits
Proceedings abstract
Poster session
Robot Workshop
Publication
Travel funding
AAAI experience
Mostly-smiling Mudd students at AAAI '05
Consider getting involved this year
30Components, Curriculum, and Community
AAAI exhibition Vancouver, July 22-26, 2007
MCL at the robot exhibition, AAAI 2006
Benefits
Publication - Travel - Experience
31Components, Curriculum, and Community
time-multiplexing
Joining with ongoing work in robotics
ICRA, April 2007, Rome
32Components, Curriculum, and Community
Modeled odometry plus raw data
Best indoor map
Blue built-in odometry
Red multiplexed control
ICRA, April 2007, Rome
33Components, Curriculum, and Community
Peripheral Robots
- A compelling price/performance balance for HW.
- Enable/enhance a computational robotic focus
- Can support both introductory projects, and they
scale to support competitions/exhibitions in the
field
- Becoming the standard resources and software
are available now and continually developing
HMC Links
MCL Curriculum
www.cs.hmc.edu/courses/2007/spring/cs154/
Python for iRobot Create
www.cs.hmc.edu/dodds/sigcse07
AI Magazine 27(1)
www.cs.hmc.edu/roboteducation
34from __future__ import
Ubiquity computing vs. networking
Toys and tools, together
Robosapiens at Robocup
Apple's Motion Sensor
seen in the lab
35from __future__ import
Barbie Jeep
150
Arduino Motor Controller GPS Laptop
LinAct
30
100
70
0
100
Autonomous Outdoor Vehicle
where the laptop, not the robot, is the
peripheral !
36(No Transcript)
37Summary of pointers to resources
MCL Curriculum
www.cs.hmc.edu/courses/2005/spring/cs154/
_at_ HMC
Python for ER1, BrainStem, Roomba
www.cs.hmc.edu/dodds
AI Magazine 27(1) links
www.cs.hmc.edu/roboteducation
Simulators
Webots
Stage/Gazebo
playerstage.sourceforge.net
www.cyberbotics.com
Pyrobot
pyrorobotics.org
Research Robots
Competition Sims
sserver.sourceforge.net
Main Site
Peripheral Robots
in CS
Other platforms
mindstorms.lego.com/ www.csc.villanova.edu/klassn
er/
Competitions
38Test Slide
39readSensors() setLED( ledNumber, state ) drive(
mm_sec, radius_mm ) playNote( midiNumber,
duration ) playSong( songNumber, songData )
powerOff() setMainBrush( state ) setSideBrush(
state ) setVacuum( state ) buttonPress(
buttonName )
40with python support
Escaping from CS 1
41Components, Curriculum, and Community
- Peripheral robot platforms strike a compelling
price/performance balance
- Enable / enhance a computational focus
- Wide variety of resources - both now and near
TeRK
Tom Lauwers, Illah Nourbakhsh
tlauwers_at_andrew.cmu.edu
interested?
XBC
David Miller, Jerry Weinberg
www.kipr.org
contact
Roomba
Z Dodds, et al.
dodds_at_cs.hmc.edu
"ER2"
was already trademarked
42Robot Peripherals
Positives
Low-cost no custom processing
Pedagogical scalability
Modular, easily extendible
Learning curve and flexibility
Focus on computation
Negatives
Aesthetics "But it's so bulky"
Emerging smaller support community
Off-the-shelf but not out-of-the-box
43Components, Curriculum, and Community
Mindstorms NXT Fall '06, 250
4 inputs 3 outputs w/encoders sonar, mic, touch
sensors, single-pixel color camera
32-bit processor
Handy Board 2 Fall '06, 600
256 MB of memory
many more ports, H-bridges
laptop-level computation
old Handy Board 2 prototype
44Components, Curriculum, and Community
computation
Hemisson
Lego NXT
"traditional" microcontroller-based platforms
Handy Board 2
kits
BOEbot
price
t
200
reliability
learning curve
45Components, Curriculum, and Community
computation
"peripheral" platforms
roomba (150)
XBC (550)
PPRK (325)
ER1 (gone)
price
2
200
2000
reliability
46Components, Curriculum, and Community
computation
"peripheral" platforms
simulators
research robots
traditional microcontroller-based platforms
price
2
200
2000
reliability
47rMCL
hide and seek
FastSLAM
not all projects work!
MCC
bridging with research
48On which to build
will work as a base for any device speaking
serial.
Handy Board 2
600
The TeRK robot controller
Acroname's BrainStem
www.acroname.com
developing at CMU under Illah Nourbakhsh,Tom
Lauwers et al.
80
250
try them in python
49Components, Curriculum, and Community
Weeks 10-15 Final Projects
Reactive task control
Competition Preparation
Algorithm exploration