30
NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010 NXT Robotics Techniques - 2010 1

NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Embed Size (px)

Citation preview

Page 1: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

NXT Robotics TechniquesWorkshop 3 - 2010

“Opening doors to the worlds of science and technology for Oregon’s youth”

6/10/2010 NXT Robotics Techniques - 2010 1

Page 2: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

AGENDA• General Robot Design• Navigation Design• Robot Characterization• Efficient Programming• Distance Sensor• Buoy Mission• Resources• Contacts• Next Steps

6/10/2010 NXT Robotics Techniques - 2010 2

Page 3: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

General Robot Design• Robot balance

– Pick up the 3 motor robot– Where is the center of gravity?

• keep CG vertical force inside wheelbase• Smart Move Incline mission – what happens to CG?• What happens with acceleration? • Starting torque lifts front end up with rear wheel drive

• Wheels – small, large, treads, skids, swivel – positives & negatives of each - examples

• Gears – bevel, straight, worm, pulley – torque transfer - examples• Beam & Pin structural design - examples• Screen & control panel location• Battery Access• Mission Attachments – examples: fork lift, cow catcher• Questions on general design?

6/10/2010 NXT Robotics Techniques - 2010 3

Page 4: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Navigation Design• Sensors

– Why do we use sensors? – navigation– How do we use sensors? – examples:

• Light - stop on line• Touch?• Rotation?• Distance?

– Problems programming sensors• Programming Tutorial, link on resource slide – have your team review• Learn sensor’s useful range

– distance sensor min-max range– rotation sensor angle– light sensor height, mounting angle, shading, robot speed– Light sensor green/black exercise, reflected light value, light threshold

• Read values from programming blocks, lower left corner

6/10/2010 NXT Robotics Techniques - 2010 4

Page 5: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Navigation Design

• Mission example:– Pick up buoy, place in box– park robot with light sensor on line– We will do this mission later in class– What kinds of navigation would you use on this

mission? LAB: brainstorm ideas• 1• 2• 3

6/10/2010 NXT Robotics Techniques - 2010 5

Page 6: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Navigation Errors

• Straight move – what errors could result?– Linear error – buoy dropped in front of box– Angular error – buoy dropped to left or right of

the box• Test example: move 24 inches from starting

point– Find pointer in kit, add to robot cow catcher– Draw line on paper where pointer stops– Repeat 5 times

6/10/2010 NXT Robotics Techniques - 2010 6

Page 7: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Robot Characterization

6/10/2010 NXT Robotics Techniques - 2010 7

• Add position and measurement guides to cow-catcher

Page 8: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Robot Characterization

• Write simple test program to make robot go forward 24” – record linear & angular results– LAB: Run this characterization now on your table• Use blue tape for start line and paper for landing point

6/10/2010 NXT Robotics Techniques - 2010 8

Page 9: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Robot Characterization (field prep)

• Starting line with tick marks to align robot• Graph paper at ending location to mark robot

stopping position

6/10/2010 NXT Robotics Techniques - 2010 9

Page 10: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Robot Characterization (collect data)

• Use measurement guide and program on previous slides

• Run tests for 5-10 times• Draw line on paper after

each run

6/10/2010 NXT Robotics Techniques - 2010 10

Page 11: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Robot Characterization (Analyze Data)

• Draw bounding box around min and max data points, 0.28” X and 1.9” Y in this example from a workshop robot

• Identify min and max stopping angle

6/10/2010 NXT Robotics Techniques - 2010 11

Page 12: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Navigation Influences1. Starting blocks – base position – base calibration - example2. Speed and robot bounce – Why?3. Battery charge – Why?4. Move Block steering left-right5. Tire size and third wheel position6. Weight & balance7. Rotation sensor in motors – 1 degree resolution8. Gear slop9. Software inside NXT

– Slow one wheel down, the other slows– Result is S curve tracking

• We can control 1-6 but not 7,8,9 Determine when to use dead reckoning vs. navigation

Use sensors and attachments to compensate for navigational errors Examples: wide fork with long tines for buoy mission, back into wall for alignment

Don’t waste time debugging long, dead reckoning moves!

6/10/2010 NXT Robotics Techniques - 2010 12

Page 13: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Robot Characterization (next steps)

• Run same experiments at various power settings• Run L-tests, inclined plane, other short missions• Use touch sensor to move around an object• Run mission tests when the Body Forward

challenge is available– Your team will want to dive in and program all

missions– decide which missions to do, then characterize

appropriate missions– Keep a good lab notebook

6/10/2010 NXT Robotics Techniques - 2010 13

Page 14: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Robot Characterization (Questions)

• Characterize your robot then discuss with your team:• Did robot move expected distance? Why not?• What would worst case errors to be?• How do angular errors affect performance?• Are there ways to reduce the errors?• How can we work around the errors to achieve mission

success?1.2.3.

• Questions on characterization?

6/10/2010 NXT Robotics Techniques - 2010 14

Page 15: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Efficient Programming

• Firmware & programs stored in flash ~ 125KB– Each program ~ 0.1 KB overhead– Move block ~ 5.1 KB, two ~5.8KB

• To determine memory usage– Lower right corner – click NXT Window, Memory

6/10/2010 NXT Robotics Techniques - 2010 15

Page 16: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Efficient Programming

• Loops, My Blocks– Create a program to move in a straight line then

turn 90 degrees• Do this 4 times to create a square (square1 program)

– How can we change the program to make it more efficient?• Use a loop and execute move-then-turn – 4 times

(LoopSquare program)• Check memory size, write down value

6/10/2010 NXT Robotics Techniques - 2010 16

Page 17: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Efficient Programming• Create a My Block – Add a Move block, a Wait for light sensor block , and a

Move block• Set the first Move block to Duration: unlimited, and 50 % power• Set the Orange Wait for Light Sensor to “less than” value of 45• Set the second Move block to stop

– Select all 3 blocks - hold shift key and click all blocks– Click Edit – Make A New My Block – Add a title in upper right corner, click Finish– Download and test your “Wait for Light Sensor” My Block

in a program– Save your My Block for later use in Buoy Mission– LAB: do this now

6/10/2010 NXT Robotics Techniques - 2010 17

Page 18: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Efficient Programming

• Show “light sensor” My Block with move-wait-move

• Create a program with 3 “light sensor” My Blocks– Download the program to NXT– Check NXT memory usage

• Create a program with 9 blocks– (use move-wait-move etc.)– Check NXT memory usage– Is the My Block more efficient?

6/10/2010 NXT Robotics Techniques - 2010 18

Page 19: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Efficient Programming

• Show program MyBlockLightSensor• My Block uses? – Code reuse– subroutines– Move/turn– Stop on black, stop on color (use a variable to

control the value of the light sensor)– Line follow, left or right– 3rd motor activity – raise, lower fork

6/10/2010 NXT Robotics Techniques - 2010 19

Page 20: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Efficient Programming

• Printing your program– Print out your program using “file” “print” to

“html file”– This action produces html and png files. You can

use the png file in your program documentation– Printed programs are a requirement for

tournament judging

• Questions on programming?

6/10/2010 NXT Robotics Techniques - 2010 20

Page 21: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Distance Sensor

– Add a “Wait for Distance” block– Program the robot to stop at 4 inches– LAB: do this now– This is the last sensor you will learn

1. Rotation2. Touch3. Light4. Distance

6/10/2010 NXT Robotics Techniques - 2010 21

Page 22: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Mission Example: Buoy

• Start with the robot on blue line #1• Move forward and pick up the buoy• Deliver the buoy into box #2 at the end of the

field• End the mission with the robot parked with

the light sensor on blue line #3• Questions on the Buoy Mission?• LAB: do this now

6/10/2010 NXT Robotics Techniques - 2010 22

Page 23: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Mission Example: Buoy

6/10/2010 NXT Robotics Techniques - 2010 23

s

Start here

End here

Place buoy here

Page 24: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Resources• Tutorial, Dale Yocum

– Run tutorial: www.ortop.org/NXT_Tutorial/– Requires Adobe Macromedia Shockwave player and high speed

connection• http://nxtprograms.com/index1.html

– look for “castor bot” – contributed to Workshop 3 motor design• Http://www.hightechkids.org/coach-library

– the Wiki of LEGO Robotics• Robot Characterization, Dale Jordan

– www.ortop.org/Workshops - look in Workshop 3 materials• Building Robots with LEGO Mindstorms NXT

– Authors: Ferrari, Ferrari, Astollo

6/10/2010 NXT Robotics Techniques - 2010 24

Page 25: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Contacts• Cathy Swider – ORTOP & FLL Operational Partner for Oregon

[email protected] – 503-725-2920• Jim Ryan– [email protected] – 971-215-6087

• Roger Swanson– [email protected] – 503-297-1824

• Dale Jordan– [email protected] -503-805-9860

• Ken Cone– [email protected] – 503-415-1465

6/10/2010 NXT Robotics Techniques - 2010 25

Page 26: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Next Steps• Register your team with FLL• Share with your team– These slides– Mindstorms NXT Programming Tutorial

• By Dale Yocum – www.ortop.org/NXT_tutorial – Build 2-3 test robot designs, then have your team

select a hybrid of best features– Challenge the kids

• Make up your own exercises • stress basics • take good lab notes

6/10/2010 NXT Robotics Techniques - 2010 26

Page 27: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Parting thoughts• From “All I really need to know (about creative thinking) I

learned by studying how children learn in Kindergarten.”– Start simple– Work on things that you like– If you have no clue what to do, fiddle around– Don’t be afraid to experiment– Find a friend to work with, share ideas– It’s OK to copy stuff (to give you an idea)– Keep your ideas in a sketch book– Build, take apart, rebuild– Lots of things can go wrong, stuck with it!

• Credit MIT

6/10/2010 NXT Robotics Techniques - 2010 27

Page 28: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Review & Questions• Please give us your input – visit ortop.org/fll

or email: [email protected]– Let ORTOP know how we can improve the program– Thanks for volunteering! Your efforts make learning

possible– Disassemble robots BUT keep the following together:

• Castor mount (pages 11-18)• Light sensors (pages 24-27)• Touch sensor (pages 28-29)• Ultra-sonic sensor (pages 30-31)• Cowcatcher (pages 32-33)• Fork lift (pages 34-35)

6/10/2010 NXT Robotics Techniques - 2010 28

Page 29: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

Alternative Measurement Guide

6/10/2010 NXT Robotics Techniques - 2010 29

Page 30: NXT Robotics Techniques Workshop 3 - 2010 “Opening doors to the worlds of science and technology for Oregon’s youth” 6/10/2010NXT Robotics Techniques -

2010 Workshops Survey

6/10/2010 NXT Robotics Techniques - 2010 30

• List 3 things or experiences you remember from the three workshops

• What was the most fun?• What was the least fun?• What should be changed?• Other comments?• Please turn in you surveys• Thanks for participating in FLL!