Introduction to RoboLab
Document Sample


1
Introduction to
RoboLab
CJ Chung
Lawrence Technological University
Chung for Robofest 05
2
What Is RoboLab?
• A „Graphical‟ programming language For
the RCX based on LabVIEW
• In 1997, LabView was used for Sojourner
project
• By designing a flow chart with given icons
the programmer can program the RCX
Chung for Robofest 05
3
Pros to Using RoboLab
• Easy to see control structure
• Visual interface is simple
• Exactly like LabVIEW
• Data gathering and visualization
(investigator)
Chung for Robofest 05
4
Cons to Using RoboLab
• Spaghetti code
• Hard to wire icons…
• No edge triggering supported. See Line
Counter program in this slide
Chung for Robofest 05
5
For More Information
• Lego‟s Page
www.lego.com/dacta/robolab
• National Instruments Page
www.ni.com/robolab
• Tufts University
www.ceeo.tufts.edu/graphics/robolab
• www.lego.com/education/mindstorms/im
ages/eng/downloads/compare.doc
Chung for Robofest 05
6
Before Getting Started
Programming
RCX Firmware Download: Administrator
Chung for Robofest 05
7
“Investigator” for data gathering
and visualization
Chung for Robofest 05
8
Getting Started
Programmer | double click “Inventor Level 4”
Chung for Robofest 05
9
RoboLab Class Mission 1:
To drive using a Timer
• “Go straight for 2.5 seconds and stop”
Chung for Robofest 05
10
Chung for Robofest 05
11
Save the file!
Chung for Robofest 05
12
Chung for Robofest 05
13
Just click
Broken arrow
Chung for Robofest 05
14
Modifiers
Chung for Robofest 05
15
Context Help
• Just point an icon in question
Chung for Robofest 05
16
To replace an icon
• Use right click and replace (for Macs, use
the Apple key)
Chung for Robofest 05
17
Windows| Show Tools Palette
• The space bar
• The tab key
Chung for Robofest 05
18
Tips
• How to insert icons?
• How delete icons?
• Cover the tower and RCX when
downloading, if more than one robot in a
room!
• Use Meaningful file names
• Add Comments using “A: edit text”
Chung for Robofest 05
19
RoboLab Mission 2: Bumper
Car
• Goes straight and stops when the bumper
is hit or
• Turn motors A and B; turn off motors A
and B, when a touch sensor is pressed
Chung for Robofest 05
20
Chung for Robofest 05
21
What is wrong?
Chung for Robofest 05
22
RoboLab Mission 3:
Board Edge Detection
• Robot must stop when it detects the edge
of the white board
• Testing Light Sensors
• Use Black „View‟ Button to read data from
the light sensor
Chung for Robofest 05
23
Darker than 40
Brighter than 50
Chung for Robofest 05
24
RoboLab Mission 4: Making
Turns
• Go straight for 2.5 seconds and turn right
90 degrees and go straight for 2 seconds
and stop
• Is it easy to make 90 degree turns?
• Mark the stop location and rerun
• Does it stop at the same point?
• Why not?
• How do we make our robots go straight?
• Very important for many missions
Chung for Robofest 05
25
Tips: Making Right Turns
Method 1:
stop
Left motor Right motor
Method 2:
Left motor Right motor
Chung for Robofest 05
26
Chung for Robofest 05
27
Using a Rotation Sensor in
RoboLab
• Finding a good pair of motors using
RoboLab
• Use Black View Button to read data from
the rotation sensor
Chung for Robofest 05
28
Chung for Robofest 05
29
RoboLab Control Structures
• Sequence
• Loop:
• Decision: Fork
• Subroutines:
• Multitasking:
Chung for Robofest 05
30
Loop with a counter
Chung for Robofest 05
31
Loop while touch sensor is
released
Chung for Robofest 05
32
Mission 5: Detect Light and
Beep
• When the light sensor detects a bright
light source, beep
• Repeat until a touch sensor is pressed
Chung for Robofest 05
33
A loop inside a loop?
Chung for Robofest 05
34
Decision - Fork
Chung for Robofest 05
35
Mission 6: Line Following
(Zigzag method)
Do forever until touch sensor is pressed:
• If it sees black, turn right
• If it sees white, turn left
Which side of the line does this follow?
Chung for Robofest 05
36
How to follow a line using one
Light Sensor? - Zigzag methods
Chung for Robofest 05
37
Chung for Robofest 05
38
Subroutine – a set of commands
• Create Subroutine No. n:
n
• Run subroutine n:
n
Chung for Robofest 05
39
Subroutine Example
Chung for Robofest 05
40
Mission 7: Line Following Until
the edge of the board
• Do forever until light sensor detects the
edge of the board:
If it sees black, turn right
If it sees white, turn left
Chung for Robofest 05
41
RCX Communications - Send
Chung for Robofest 05
42
RCX Communications - Receive
Chung for Robofest 05
43
Containers to store values
• Loop while container value is less than…
Chung for Robofest 05
44
Mission 8: Line Counter
• Go forward
• Count each line as the robot crosses it
• When the robot detects the 4th line, stop.
• Uses a Container to count number of lines
Chung for Robofest 05
45
Line Counter Solution Using
RoverBot Style Gearing
If no time to skip black line, a line can be counted more than once.
Wait for Dark Wait for Dark
Cf. RCX code, Wait Until,
provides “Edge Triggering”
Chung for Robofest 05
46
Sensor Stacking
• Stack touch sensor on
top of light sensor
• Both Sensors must be
thought of as light
sensors.
• Pressing the touch
sensor will always read
100.
• When the touch sensor is
not pressed the value for
the light sensor will be
read.
Chung for Robofest 05
47
Mission 9: Line following until
stacked touch sensor is pressed
Chung for Robofest 05
48
Multitasking
Chung for Robofest 05
49
How to upload to different
program slots
• Select the slot number by pressing the gray
Pgm button on the RCX
• Click the (run) button
Chung for Robofest 05
Related docs
Get documents about "