Steven Bell - PowerPoint PPT Presentation

About This Presentation
Title:

Steven Bell

Description:

Title: PowerPoint Presentation Last modified by: FIRST Place Document presentation format: Custom Other titles: Times New Roman Arial HG Mincho Light J;MS Mincho;HG ... – PowerPoint PPT presentation

Number of Views:112
Avg rating:3.0/5.0
Slides: 31
Provided by: firstWpiE
Learn more at: https://first.wpi.edu
Category:
Tags: bell | common | mistakes | steven

less

Transcript and Presenter's Notes

Title: Steven Bell


1
Teaching
To Students
Steven Bell Team 1519 Mechanical
Mayhem www.team1519.org Atlanta FIRST Conference
2005
2
Welcome
  • Who Am I?
  • Four years experience with Robolab in FLL
  • Taught Advanced Robolab workshop in NH
  • Mentor of four NH FLL teams in 2004
  • Programmer for FRC Team 1519, Mechanical Mayhem

3
Overview
  • Introduction
  • What do students need to know?
  • A pattern for teaching
  • Student pitfalls

4
Why teach Robolab?
  • One of two approved languages for FLL
  • More powerful than RIS (Robotics Invention
    System)
  • Easier to learn than a text language
  • Helps expand thinking skills
  • Good for exploring and learning
  • Fun and interesting!

5
Robolab vs. RIS
  • Robolab
  • More control of variables
  • Allows lower-level functions
  • Can be extended to other real-world projects
  • Additional sensors
  • Data logging
  • G code
  • Complex image processing
  • RIS
  • Slightly easier to learn
  • Comes free with commercial Mindstorms kits
  • Puzzle piece syntax reduces errors

6
The Goal
Teaching students to use Robolab
  • The goal is not to get students to understand a
    bunch of commands.
  • The goal is to help students learn and discover!
  • Robolab is very flexible. Help this to be an
    opportunity, not a fear factor!

7
Background of Robolab
  • Created by Tufts University School of Engineering
  • Based on National Instruments' LABView
  • It is a graphical programming language
  • Facilitates hierarchal design
  • Includes data logging and analysis functions
  • Widely used in industry
  • Designed for use in the classroom
  • Pilot and Inventor
  • Level system

8
What do students need to know?
  • How to operate Robolab
  • Create a program
  • Save it
  • Download it
  • The syntax of programming with Robolab
  • How to use sensors
  • Good programming practices
  • Debugging
  • How to learn more

9
How to operate Robolab
  • Starting Robolab
  • Administrator
  • Programmer
  • Investigator
  • Using the program vault
  • Levels
  • Starting a new program
  • Files and Folders
  • Downloading programs
  • Hazards

10
Where do I start?
  • Don't start with Pilot!
  • Pilot is even more limited than RIS and has
    little connection to Inventor
  • Inventor 1 and 2 are very limited as well
  • Inventor 4 is the best place to start for middle
    and high school students
  • Inventor 1 or 2 can be a better place to start
    for younger students until they learn the syntax
    and operation of Robolab.

11
The syntax of Robolab
  • Begin and End
  • Commands and VI's
  • Wiring
  • Finding the right port
  • How the wires connect
  • Modifiers
  • SubVI's and looking inside commands

12
Sensors
  • Why sensors are important
  • How to use sensors with the RCX
  • When to use sensors
  • The syntax of sensor wait fors and structures

13
Good Programming Practices
  • Keeping the program straight
  • Using lots of comments
  • Using SubVI's
  • Save early, save often!

14
Debugging
  • Error list
  • Beeps
  • Set display
  • Interrogate RCX

15
How to learn more
  • Context help
  • 'More help'
  • Double-clicking on commands
  • Looking inside commands

16
Good Teaching Practices
  • Don't tell students the answers, let them
    discover it on their own
  • Encourage using help
  • Introduce just a little at a time
  • Practice new techniques and commands with an
    exercise

17
When students get stuck
  • Don't tell the answers!
  • Ask questions
  • How can you find out?
  • What does this command do?
  • What does this code do?
  • What do you want it to do?
  • What is it doing?
  • Have the student explain the code to someone else
  • Play computer
  • Pretend to be the robot
  • Student gives the robot commands
  • Robot follows commands exactly no more, no less

18
A pattern for teaching
  • Intro to Robolab
  • Using the RCX
  • Operating Robolab
  • Basic command palette
  • Motor commands
  • Wait for time
  • Basic Modifiers
  • Go-Stop exercise
  • Sensors
  • Use of sensors
  • Sensor wait fors
  • Variations on the Go-Stop exercise

19
A pattern for teaching (cont.)
  • Structures
  • Jumps
  • Shape driving exercise
  • Forks
  • Line following exercise
  • Loops
  • Terminating shape driving and line following
    exercises
  • Subroutines and SubVIs
  • Subroutines
  • Shape driving
  • SubVIs
  • Taking parameters
  • Making various subVIs
  • Looking inside commands

20
A pattern for teaching (cont.)
  • Containers
  • Line counting
  • Calculator
  • Multitasking
  • Advanced features
  • Direct Functions
  • RCX communication
  • Investigator

21
Student pitfalls
  • Initial fear of menus, large command palettes,
    etc.
  • Miswiring
  • Confusion about commands

22
Getting past the initial fear
  • Look at groups of commands
  • Explain the organization of
  • the commands
  • Start with a tutorial exercise
  • Start up Robolab
  • Start a new program
  • Make a Go-Stop program
  • Download it

23
Getting past the initial fear (cont.)
Explain the organization of the commands
24
Miswiring
  • Common mistakes
  • Type mismatch
  • Connecting in and out together
  • Proper technique
  • Move the string cursor over the command
  • Note the type of wire coming out of it
  • Command
  • Modifier
  • Integer
  • Floating-point number
  • Container
  • Connect it to a modifier or command with the same
    type of wire as an output
  • If all else fails, right-click and select create
    gt constant

25
Data types in Robolab
Pink Command Orange Floating-Point Blue Integer
Green Sensor Port Maroon Container
26
Common miswirings
An innocent looking piece of code which could any
of the following bugs lurking
Mixing up inputs and outputs
Missing a command
Connecting one output to two inputs (without a
fork or task split)
Multitasking
Incorrect
Correct
27
Confusion about commands
  • Common mistakes
  • 'Wait for dark' and 'Wait for darker'
  • 'X' and 'Value of X' modifier
  • How to avoid confusion
  • Look in context help!
  • Look inside the command and see what it does

28
What if I don't know Robolab?
  • First
  • Learn the basics so you can teach them
  • or
  • Find someone who can teach the basics
  • Then
  • Learn advanced features with the students!
  • Encourage students to learn and explore on their
    own

29
Technical resources
  • Online
  • www.lego.com/dacta
  • www.ceeo.tufts.edu
  • www.firstlegoleague.org
  • www.fll-freak.com
  • www.team1519.org
  • Books
  • Teachers guides

30
Questions?
Write a Comment
User Comments (0)
About PowerShow.com