Title: Intro to Robots
1Lab 3
2Basic Robot Brain
- Programs consist of import lines, function
definitions and and a starting point.
Line 1 from myro import Line 2
initialize("comX") Line 3 imports Line 4 Line 5
def main() Line 6 Line 7
Line 8 ... Line 9 main()
Always start from a function called main()
3Exercise
- Combine the following functions into a program
that yoyos and wiggles for a bit. Try to make
your dance short and sweet.
def yoyo(speed, waitTime) forward(speed,
waitTime) backward(speed, waitTime)
stop()
def wiggle(speed, waitTime) motors(-speed,
speed) wait(waitTime) motors(speed,
-speed) wait(waitTime) stop()
4Exercise
- Take the previous program and rename the main()
function dance(). - Now create a main() function that calls dance().
- The problem is if you want to dance all night.
- Call the program dance.py.
- It works but not very interesting
def main() dance() dance() dance()
dance() . . .
5Repetition in Python (and other languages)
- Programming languages have syntax for repeating
the same thing over and over and over and over .
. . - for-loop when you know exactly how many times to
repeat something - while-loop when you dont know, in advance,
exactly how many times you need to repeat
something
def main() for i in range(1) dance()
keeps calling dance()until 10 seconds havepassed
def main() while timeRemaining(10)
dance()
6Exercise
- Modify the dance.py program to use a for-loop.
7While-Loops
- c(i) is a boolean condition that is True of False
depending on the value of i. - f() gives a new value to i, once for each
iteration through the loop. - This loop will go on forever if f() never returns
a value for which c(i) False.
i 0 while c(i) do something i f()
answer Nowhile answer No dance()
answer ask(Again?)
what happens if you never enter Nobut rather
no, n, NO, etc.
8Infinite Loops
- The example on the last slide shows that a loop
can, by accident, go on forever. You can also
intentionally write an infinite loop. - How do you stop this loop?
while True do something
Ctrl-C
9Exercise
- Modify the dance.py program to replace the
for-loop with a while-loop. - Try various while-loops including an infinite
loop.