Steven Bell Team 1519 Mechanical Mayhem Atlanta FIRST Conference 2005 Teaching To Students.
-
date post
20-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of Steven Bell Team 1519 Mechanical Mayhem Atlanta FIRST Conference 2005 Teaching To Students.
Steven BellTeam 1519 Mechanical Mayhem
www.team1519.orgAtlanta FIRST Conference 2005
Teaching
To Students
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
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!
Robolab vs. RISRobolab
● 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
The Goal
● 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!
Teaching students to use Robolab
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
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
How to operate Robolab
● Starting Robolab– Administrator– Programmer– Investigator
● Using the program vault– Levels– Starting a new program– Files and Folders
● Downloading programs– Hazards
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.
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
Sensors
● Why sensors are important● How to use sensors with the RCX● When to use sensors● The syntax of sensor wait fors and structures
Good Programming Practices
● Keeping the program straight
● Using lots of comments
● Using SubVI's
● Save early, save often!
How to learn more
● Context help
● 'More help'
● Double-clicking on commands
● Looking inside commands
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
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
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
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
A pattern for teaching (cont.)
● Containers– Line counting– Calculator
● Multitasking
● Advanced features– Direct Functions– RCX communication– Investigator
Student pitfalls
● Initial fear of menus, large command palettes, etc.
● Miswiring
● Confusion about commands
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
Output A
Output B
Output C
Genericoutput
Forward
ReverseLamp
Stop
Getting past the initial fear (cont.)Explain the organization of the commands
Functions
Wait for Structures Modifiers MusicReset Containers
Loops Jumps Forks
Equal Forks
Event Modifiers
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 > constant
Data types in Robolab
Pink: CommandOrange: Floating-PointBlue: Integer
Green: Sensor PortMaroon: Container
Common miswirings
Missing a command
Mixing up inputs and outputs
Connecting one output to two inputs(without a fork or task split)
An innocent looking piece of code whichcould any of the following bugs lurking
Multitasking
Incorrect Correct
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
'X'Modifiers
Value of 'X'Modifiers
IntegerModifiers
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
Technical resources
Online:● www.lego.com/dacta● www.ceeo.tufts.edu● www.firstlegoleague.org● www.fll-freak.com● www.team1519.orgBooks:● Teachers guides