Introduction to RoboLab

Document Sample
Introduction to RoboLab Powered By Docstoc
					                                                        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