320 likes | 461 Views
Intermediate Robotics Getting to the Next Level. Guiding Question: How might I move the robot consistently , accurately , and predictably ? Review basics (consistent x-y movement) Reference Points (mechanical stops, sensors) Videos (examples) Programming WAIT block (simple sensors)
E N D
Intermediate RoboticsGetting to the Next Level Guiding Question: How might I move the robot consistently, accurately, and predictably? • Review basics (consistent x-y movement) • Reference Points (mechanical stops, sensors) • Videos (examples) • Programming • WAIT block (simple sensors) • Loop/Switch blocks • Advanced blocks (Motor/Sensor/Math/etc.) • MY Blocks
Reminder • KIDS DO THE WORK!!! • Encourage kids to ask questions, do research, experiment, discuss observations, etc. • “Mentor with questions” • Use simple exercises to demo key concepts/programming skills • Have fun!!!
BOT BASICS(NXT Curriculum) • Bot calibration • 5 rotation test n = D/C • 360° test n = (A/360)(2πd/C) • Initial Placement • X - Y position • angle • Mission mapping
Reference Points • Final position error depends upon: • initial placement (x, y, angle) • distance/angle measurements • bot calibration • Problem: long distances, multiple turns lead to large final position errors
Angle Errors 2 Degrees Right 2 Degrees Left Error = ± 1.5” @ 50”
Positional Error Reduction Solution: identify “intermediate reference points” (keep MOVE distances short) Use: - mechanical stops (walls, other) - sensors
Demo Videos(identifying reference points) • 2011 SRES FLL - Supai • Youtube (253 pts) • ASU BEST • Mohave Robotics Club
Simple Sensors WAIT blocks (ultrasonic, light, sound, touch) Basic operation: move unlimited until sensor is triggered and stop SENSOR ISSUES: placement on bot limitations
Challenges/Exercises(WAIT Blocks) • “closest to the wall” using ultrasonic • limitations??? • “find a line” (find multiple lines) • light sensor needs calibration • color sensor (no calibration • FLL challenges • FLL table (issues??) • FLL/Avnet challenges
Discussion • Learning??
Moving with LOOP Block(vs WAIT Block) Sensors (ultrasonic) Logic
Moving with LOOP Block II Multiple Sensors (with COMPARE block)
Challenges • follow a line (or find a line and follow it) • use touch sensor to “square up to a wall” • FLL challenges (i.e. pill push) • FLL table challenges
Discussion • Learning??
Advanced Blocks • VARIABLE block • The variable block is a “bucket” where you can store information and retrieve it at a later time. • There are three types: Number, Text, and Logic • MATH block • The math block allows the addition, subtraction, division or multiplication of two numbers. • COMPARE block • The compare allows you to determine if one number is greater than, less than or equal to another number. Input Output Input Output (True or False) 17 Advanced Programming - Tony Ayad 9/16/2014
VARIABLES – how to create your own variables • To create your own variables 1. Select “File” Menu and "Define Variables" option 2. Type the name of the variable, then select its type. 18 Advanced Programming - Tony Ayad 9/16/2014
Data Hubs and Data Wires Left Motor Right Motor Other Motor Direction Steering Power Duration degrees Data Wire Next Action (brake or coast) Data Hub is another way of providing input data into a Block. Most blocks have a tab at the bottom and when clicked the block expands to show its data "hubs" The MOVE block has are several datahubs that correspond to its input fields Data wires connect data hubs; you create a data wire by “drawing it out” of a block’s data hub. 19 Advanced Programming - Tony Ayad 9/16/2014
Move Input Distance I(Variable & Math Blocks, Wiring) Input distance Convert distance to degrees & Input to MOVE block
MY Blocks Condenses multiple blocks to a single block (a sub-routine) • multiple use of same coding sequence • reduces memory needed
MY Block Example Select blocks
Name Variables in MY Block Name Values
Before After
MY Block Use • Use for repeated operations • find a line • line following • etc. • Include variables into MY blocks (repeated operations with different parameters) • Where ever
SCC Avnet Competition Tasks (located at trigger points): - raise flag - pill push - grab “Trophy” Complete course Issues: Line Geometry/Trigger Points are NOT predefined
SCC Avnet TechGames • Show program build • Show videos
Exercises • Create a MY Block • follow line & find trigger points • design your own challenge • Create MY block with 1 or more variables • follow line & use variable distance ultrasonic • design your own challenge
Reminder • KIDS DO THE WORK!!! • Encourage kids to ask questions, do research, experiment, discuss observations, etc. • “Mentor with questions” • Use simple exercises to demo key concepts/programming skills • Have fun!!!
Info Sources • http://engineering.asu.edu/k12outreach/fll/coaches • NXT Programs = Robot Building Instructions • Oregon FLL Video NXT Tutorial • Introductory Robotics Curriculum • Intermediate Robotics Instruction • Youtube.com (NXT programming) • books • Kelly, James “LEGO MINDSTORMS NXT-G Programming Guide”