intermediate robotics getting to the next level guiding question: how might i move the robot...
TRANSCRIPT
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
2011 FLL Table
Angle Errors
2 Degrees Left 2 Degrees Right
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)
Line Following(LOOP/SWITCH/SENSOR BLOCKS)
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??
04/10/23 Advanced Programming - Tony Ayad 17
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
Output (True or False)
Input
Advanced Blocks
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.
04/10/23 Advanced Programming - Tony Ayad 18
Data Hubs and Data Wires• 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.
04/10/23 Advanced Programming - Tony Ayad 19
Power
Direction
Duration degrees
Next Action (brake or coast)
Steering
Left Motor
Right Motor
Other Motor
Data Wire
Move Input Distance I(Variable & Math Blocks, Wiring)
Input distance
Convert distanceto degrees &
Input to MOVE block
Distance-Power Example II(Variable & Math Blocks, Wiring)
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
Create MY Block
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”