Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005
description
Transcript of Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005
![Page 1: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/1.jpg)
Steven BellTeam 1519 Mechanical Mayhem
www.team1519.orgAtlanta FIRST Conference 2005
Teaching
To Students
![Page 2: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/2.jpg)
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
![Page 3: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/3.jpg)
Overview
● Introduction● What do students need to know?● A pattern for teaching● Student pitfalls
![Page 4: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/4.jpg)
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!
![Page 5: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/5.jpg)
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
![Page 6: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/6.jpg)
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
![Page 7: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/7.jpg)
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
![Page 8: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/8.jpg)
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
![Page 9: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/9.jpg)
How to operate Robolab
● Starting Robolab– Administrator– Programmer– Investigator
● Using the program vault– Levels– Starting a new program– Files and Folders
● Downloading programs– Hazards
![Page 10: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/10.jpg)
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.
![Page 11: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/11.jpg)
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
![Page 12: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/12.jpg)
Sensors
● Why sensors are important● How to use sensors with the RCX● When to use sensors● The syntax of sensor wait fors and structures
![Page 13: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/13.jpg)
Good Programming Practices
● Keeping the program straight
● Using lots of comments
● Using SubVI's
● Save early, save often!
![Page 14: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/14.jpg)
Debugging
● Error list
● Beeps
● Set display
● Interrogate RCX
![Page 15: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/15.jpg)
How to learn more
● Context help
● 'More help'
● Double-clicking on commands
● Looking inside commands
![Page 16: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/16.jpg)
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
![Page 17: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/17.jpg)
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
![Page 18: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/18.jpg)
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
![Page 19: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/19.jpg)
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
![Page 20: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/20.jpg)
A pattern for teaching (cont.)
● Containers– Line counting– Calculator
● Multitasking
● Advanced features– Direct Functions– RCX communication– Investigator
![Page 21: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/21.jpg)
Student pitfalls
● Initial fear of menus, large command palettes, etc.
● Miswiring
● Confusion about commands
![Page 22: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/22.jpg)
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
![Page 23: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/23.jpg)
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
![Page 24: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/24.jpg)
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
![Page 25: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/25.jpg)
Data types in Robolab
Pink: CommandOrange: Floating-PointBlue: Integer
Green: Sensor PortMaroon: Container
![Page 26: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/26.jpg)
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
![Page 27: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/27.jpg)
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
![Page 28: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/28.jpg)
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
![Page 29: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/29.jpg)
Technical resources
Online:● www.lego.com/dacta● www.ceeo.tufts.edu● www.firstlegoleague.org● www.fll-freak.com● www.team1519.orgBooks:● Teachers guides
![Page 30: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005](https://reader036.fdocuments.us/reader036/viewer/2022081603/56814f4f550346895dbcf24b/html5/thumbnails/30.jpg)
Questions?