Title: Intermediate Robotics Getting to the Next Level
1Intermediate 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
2Reminder
- 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!!!
3BOT BASICS(NXT Curriculum)
- Bot calibration
- 5 rotation test n D/C
- 360 test n (A/360)(2pd/C)
- Initial Placement
- X - Y position
- angle
- Mission mapping
4Reference 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
52011 FLL Table
6Angle Errors
2 Degrees Right
2 Degrees Left
Error 1.5 _at_ 50
7Positional Error Reduction
- Solution
- identify intermediate reference points
- (keep MOVE distances short)
- Use
- - mechanical stops (walls, other)
- - sensors
8Demo Videos(identifying reference points)
- 2011 SRES FLL - Supai
- Youtube (253 pts)
- ASU BEST
- Mohave Robotics Club
9Simple Sensors
- WAIT blocks (ultrasonic, light, sound, touch)
- Basic operation move unlimited until sensor is
triggered and stop - SENSOR ISSUES
- placement on bot
- limitations
10Challenges/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
11Discussion
12Moving with LOOP Block(vs WAIT Block)
Logic
13Moving with LOOP Block II
- Multiple Sensors (with COMPARE block)
14Line Following(LOOP/SWITCH/SENSOR BLOCKS)
15Challenges
- 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
16Discussion
17Advanced 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
11/8/2016
18VARIABLES 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
11/8/2016
19Data 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 blocks data hub.
Left Motor
Right Motor
Other Motor
Direction
Steering
Power
Duration degrees
Data Wire
Next Action (brake or coast)
19
Advanced Programming - Tony Ayad
11/8/2016
20Move Input Distance I(Variable Math Blocks,
Wiring)
Input distance
Convert distance to degrees Input to MOVE block
21Distance-Power Example II(Variable Math
Blocks, Wiring)
22MY Blocks
- Condenses multiple blocks to a single block (a
sub-routine) - multiple use of same coding sequence
- reduces memory needed
23MY Block Example
Select blocks
24Create MY Block
25Name Variables in MY Block
Name Values
26Before
After
27MY Block Use
- Use for repeated operations
- find a line
- line following
- etc.
- Include variables into MY blocks
- (repeated operations with different parameters)
- Where ever
28SCC Avnet Competition
- Tasks (located at trigger points)
- - raise flag
- - pill push
- - grab Trophy
- Complete course
- Issues Line Geometry/Trigger Points are NOT
predefined
29SCC Avnet TechGames
- Show program build
- Show videos
30Exercises
- 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
31Reminder
- 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!!!
32Info 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