Bryn Mawr College - PowerPoint PPT Presentation

About This Presentation
Title:

Bryn Mawr College

Description:

Bryn Mawr College – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 40
Provided by: computi242
Learn more at: https://www.cs.hmc.edu
Category:
Tags: bryn | college | mawr

less

Transcript and Presenter's Notes

Title: Bryn Mawr College


1
A Hands-on Exploration of Educational
RoboticsPersonal Robots in Education
  • Doug Blank
  • Bryn Mawr College
  • Institute for Personal Robots in Education

2
Bryn Mawr College
  • Founded 1885
  • Located on a 135-acre suburban campus outside of
    Philadelphia
  • 1,300 all-women undergraduates
  • 130 Full-time faculty, 3 in CS

3
Institute for Personal Robots in Education
  • Formed in July 2006
  • Georgia Institute of Technology, Bryn Mawr
    College, and Microsoft Research
  • Created to explore and foster the appropriate use
    of robots in the CS1 and CS2 courses to help the
    growing crisis
  • Develop hardware, software, and curricular
    materials to this end
  • www.roboteducation.org

4
The Personal Robot Niche
  • Personal Robot
  • Low-cost, small, self-contained, fit in backpack
    (or lunchbox), buy at bookstore
  • Focus on engaging computation
  • Avoid mechanical and electrical engineering
    topics
  • Robot as a device and tool
  • Inviting to non-traditional students
  • Exploit the power of the PC
  • Wireless

5
The Personal Robot Niche
One robot per student Robots can help make
computer science personal.
6
Key concepts for comparing robots
  • Price
  • Capability
  • Size, weight
  • Odometry, dead reckoning
  • Range sensors (sonar, infrared)
  • Camera and image processing
  • Analog signal vs. Digital signal
  • On-board vs. Off-board Processing
  • Appropriateness to task

7
Personal Robots for Educations
  • Aibo Sony (discontinued)
  • AmigoBot MobileRobots
  • Webots Cyberbotics
  • Khepera K-Team, RoadNarrows
  • E-puck GCtronic
  • Hemisson K-Team, RoadNarrows
  • Roomba/Create iRobot
  • SRV1 Surveyor
  • Boe-Bot Parallax
  • Mindstorms NXT Lego
  • Scribbler Parallax

8
Personal Robot Landscape
Webots
Khepera
AmigoBot
Aibo
E-puck
Price
Hemisson
SRV1
Boe-Bot
NXT
Create
Scribbler
Capabilities
9
Personal Robots for Educations
  • Aibo 2500 - 3000 on Ebay
  • AmigoBot 1500, plus analog video equipment
  • Webots 240 student, 3825 professional
  • Khepera 2000, plus analog video equipment
  • E-puck 700, 3 for 1975, 1 lb
  • Hemisson 788, 1 lb
  • Roomba/Create 130, 180, 230, 6 lb.
  • SRV1 375, then 295, 3 lb.
  • Boe-Bot 110 - 150, 3.43 lb.
  • Mindstorms NXT 300, 3 lb.
  • Scribbler 60 - 200, 2.23 lb.

10
Personal Robot Landscape
Webots
Khepera
AmigoBot
Aibo
E-puck
Price
Hemisson
SRV1
Boe-Bot
NXT
Create
Scribbler
Capabilities
11
IPRE Robot Kit, prototype
12
Myro Overview
Bluetooth Serial Transmitter/ Receiver
Myro
USB Bluetooth Dongle
13
Overview
  • Scribbler robot
  • Bluetooth Serial Adaptor has already been setup
    and given a unique name
  • USB Bluetooth Dongle
  • Just plug it in, and select your Scribbler
  • Myro Software
  • Run install.bat on the CDROM and it will install
    Python and other libraries (95MB)
  • OR Just boot off of the CD

14
Editing Environment (IDLE)
Start Python
15
Getting started
  • gtgtgt from myro import
  • Myro, (c) 2006 Institute for Personal Robots in
    Education
  • See http//www.roboteducation.org/ for more
    information
  • Version 1.0.2, Revision 1.99, ready!
  • gtgtgt robot Scribbler(com4)
  • Waking robot from sleep...
  • Hello, I'm Scribby!
  • gtgtgt robot.beep(1, 800)
  • gtgtgt robot.joyStick()
  • gtgtgt robot.joyStick(1)
  • gtgtgt D

16
Functional Interface Movement
  • initialize(com4)
  • turnLeft(value)
  • turnRight(value)
  • forward(value)
  • backward(value)
  • stop()
  • values are between 0 and 1 and represent
  • power or speed

17
Functional Interface Movement
  • turnLeft(value, time)
  • turnRight(value, time)
  • forward(value, time)
  • backward(value, time)
  • values are between 0 and 1 and represent
  • power or speed, time is in seconds

18
Movement Interface, Advanced
  • translate(value)
  • rotate(value)
  • move(tvalue, rvalue)
  • values are between -1 and 1 and
  • represent speed and direction
  • rotate -1 to right, 1 to left
  • translate -1 backwards, 1 forwards

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

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

21
Looping constructs
  • for seconds in timer(5)
  • forward(.7)
  • wait(1)
  • turnLeft(.7)
  • wait(1)
  • while timeRemaining(5)
  • forward(.7, 1)
  • turnLeft(.7, 1)

22
Looping constructs
  • while timeRemaining(5)
  • forward(.7, 1)
  • turnLeft(.7, 1)

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

24
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()

25
gtgtgt simulator()
26
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)

27
Python
  • def function(arg1, arg2)
  • print arg1, arg2
  • return arg1 arg2
  • class Classname(C1, C2)
  • def __init__(self, arg1, arg2)
  • self.args arg1, arg2
  • def method(self)
  • return self.args0 self.args1
  • gtgtgt function(1, 2)
  • 12
  • gtgtgt o Classname(1, 2)
  • gtgtgt o.method(1, 2)
  • 3

28
Security Guard Example
  • 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)

29
Robots in the classroom
30
USB Bluetooth Dongle
  • Insert into a USB slot
  • After drivers install, click on Bluetooth icon
    and select Open Bluetooth Settings
  • Turn on Scribbler
  • Click on Add, and check My device is ready to
    be found
  • Select Use the passkey from the documentaion
    (1234)
  • Note Outgoing COM Port

31
Installation
  • install.bat from the CDROM will install
  • Python 2.4
  • Text-to-speech wrapper
  • Sound abstractions
  • Serial Port abstractions
  • Chat (IM) abstractions
  • Myro API and simulator

32
Future Myro
  • Fall 2007
  • Vision!
  • Spring 2008
  • Reimplement in .NET/Mono
  • Allow flexibility in languages
  • Allow speed where necessary (vision)
  • Gyro
  • Utilize Microsofts Robotics Studio
  • 3D Simulator
  • Pathway to advanced robotics
  • GUI-based control interface
  • CS2 Robotic Arm and Camera

33
Surveyor SRV1
34
Scribbler with IPRE vision/Bluetooth board
35
Gyro
36
Pyro, Python Robotics
  • PyroRobotics.org
  • Designed for advanced CS students
  • Ability to do PhD topics easily as senior
    projects
  • Not appropriate for CS1
  • Provides a pathway to advanced robotics

37
Servers Robots and Simulators
38
Further information
  • www.roboteducation.org
  • blog.roboteducation.org
  • myro.roboteducation.org
  • pyrorobotics.org

39
Robots in the classroom They are coming!
Write a Comment
User Comments (0)
About PowerShow.com