Title: Institute for Personal Robots in Education -- One Year On
1Myro Tutorial
The Institute for Personal Robots in
Education Prof. Doug Blank, Bryn Mawr
College Dr. Jay Summet, Georgia Institute of
Technology
2IPRE Pilot Hardware KitFeaturing Parallaxs
Scribbler
- 6 Light sensors
- 7 IR sensors
- Stall sensor
- Speaker
- 5 LEDs
- 2 motors
- Bluetooth wireless
- Camera
- Gamepad
3Using Myro
- Install software on any computer (Mac, Linux, or
Windows) - Establish Bluetooth connection (via a Serial
port) - Start Python
- Load Myro
- Initialize connection with robot
- Have fun!
41. Install software
Myro
52. Serial Connection over Bluetooth (com4)
Serial Bluetooth Adapter
Myro
USB Bluetooth Adapter
63. Start Python (IDLE)
74. Load Myro
85. Initialize connection to robot
- gtgtgt from myro import
- gtgtgt init(com4)
- gtgtgt
96. Have Fun!
10Gamepad controls
- Pad Action
- ------ -------
- Left/Right turnLeft() and turnRight()
- Up/Down forward() and backward()
- Button Action
- ------ -------
- 1 takePicture()
- 2 beep(.25, 523)
- 3 beep(.25, 587)
- 4 beep(.25, 659)
- 5 speak('Hello. My name is Scribby.')
- 6 speak('Ouch! I'm a sensitive
robot.') - 7 speak('I'm hungry.')
- 8 speak('Good bye, for now.') and
stop()
11Manual Control
- gtgtgt from myro import
- Myro, (c) 2008 Institute for Personal Robots in
Education - See http//www.roboteducation.org/ for more
information - Version 2.6.5, ready!
- gtgtgt init()
- Waking robot from sleep...
- Hello, I'm Scribby!
- gtgtgt gamepad()
-
6
5
3
7
8
Forward
2
4
Left
Right
Back
1
12Lets get Personal!
- Name your robot
- gtgtgt setName(Fifi)
- gtgtgt setName(Robbie)
- gtgtgt setName(Toaster)
- gtgtgt setName(Bob)
13Challenges
- Is there Life on Mars?
- Build a Dancing Robot
- Build a Robo Cockroach
14Challenge 1Is there Life on Mars?
- Mars is the center of the room
- There is a picture of an alien in the mountains
- Manually drive your robot to Mars
- Photograph the specimen
- Is there life on mars?
15Its alive!
16Challenge 2Build a Dancing Robot
www.blogguelph.com
17Movement
- forward(speed, seconds)
- gtgtgt forward(1, 2.3)
- backward(speed, seconds)
- gtgtgt backward(.5, 4.6)
- turnLeft(speed, seconds)
- gtgtgt turnLeft(1, .3)
- turnRight(speed, seconds)
- gtgtgt turnRight(1, .6)
18Dancing
- gtgtgt forward(1, 1.4)
- gtgtgt turnLeft(1, .3)
19Dancing
- gtgtgt forward(1, 1.4)
- gtgtgt turnLeft(1, .3)
- gtgtgt forward(1, 1.4)
- gtgtgt turnLeft(1, .3)
20Square Dancing
- gtgtgt forward(1, 1.4)
- gtgtgt turnLeft(1, .3)
- gtgtgt forward(1, 1.4)
- gtgtgt turnLeft(1, .3)
- gtgtgt forward(1, 1.4)
- gtgtgt turnLeft(1, .3)
- gtgtgt forward(1, 1.4)
- gtgtgt turnLeft(1, .3)
21range()
- gtgtgt range(4)
- 0, 1, 2, 3
- gtgtgt for i in range(4)
- print Hi
- Hi!
- Hi!
- Hi!
- Hi!
22range()
- gtgtgt for i in range(4)
- forward(1, 1.4)
- turnLeft(1, .3)
23Making Noise
- beep(duration, freq1)
- gtgtgt beep(.5, 880)
- gtgtgt beep(.5, 440)
- beep(duration, freq1, freq2)
- gtgtgt beep(1, 440, 880)
24Making Noise
- speak(any string)
- gtgtgt speak(Hello world!)
- gtgtgt speak(Whats up, Doctor Jay?)
- getVoices()
- gtgtgt getVoices()
- setVoice(Name)
- gtgtgt setVoice(Fred)
25Making Noise
- playSong( makeSong(string))
- gtgtgt playSong(makeSong(a 1 c 1/8))
- gtgtgt playSong(makeSong(c4 1 d3 1 a5 1))
26Putting it all together
- Instead of entering the commands one at a time,
we can put them all together into a program - From the IDLE menu, select File -gt New Window
- Name it by selecting File -gt Save asfrom the
new window - Name it Dance.py
27Python
- Looks like English
- Indentation matters
- Interactive
- Easy to learn, but powerful
28Dance.py
- for i in range(10)
- forward(1, 2)
- backward(1, 2)
- for i in range(3)
- beep(.25, 200)
- beep(.25, 400)
- beep(.25, 800)
- beep(.25, 1600)
29Dance.py
- for i in range(10)
- forward(1, 2)
- backward(1, 2)
- for i in range(3)
- beep(.25, 200)
- beep(.25, 400)
- beep(.25, 800)
- beep(.25, 1600)
To run your program, select Run -gt Run
Module from the new window menu
30Myro control
- wait(seconds)
- gtgtgt wait(.5)
- for seconds in timer(10) do something for
10 seconds - while timeRemaining(20)
- do something for 20 seconds
31Robot Bling
- gtgtgt setLEDBack(1)
- gtgtgt setLEDBack(0)
32Camera
- gtgtgt picture takePicture()
- gtgtgt show(picture)
33Challenge 3Build a Robo Cochroach
34Robot Sensors
35Senses
- getLight()- left, center, right
- getBright() - left, center, right
- getIR() - left, right
- getObstacle() - left, center, right
36Reading the Light Sensors
Light sensors
- getLight(left)
- getLight(center)
- getLight(right)
- getLight()
- 657, 1453, 1025
37Python functions
- def functionName(arg1, arg2value)
- print hello world!, arg1, arg2
- this is a comment
- functionName(1)
38Thank you for your time!
For more information see www.roboteducation.org