ORTOP Workshop 3 - robot Design Robot Design, Navigation & Missions 1 Goals Move your team up the ladder in navigational skills, and the use of sensors • To help you as coach assess where your team is, and what is needed to move them forward 2 introduction Workshop 3 Methodology • Explore a problem Run a hands-on experiment Get kids’ heads wrapped around a problem Explain how it works Show important aspects of the problem Add background information and knowledge Apply knowledge Solve a more complex problem with what you now know 3 Agenda Navigation with basic robot moves and turns Run an experiment to determine robot move error The S curve inaccuracy and wobble Compensation for errors - absolute positioning and other tricks One and two wheel turns Programming the Buoy Mission using dead reckoning Navigation with light sensors Run experiments with the light sensor Light sensor hardware and software Line following logic Mission planning - memory, time, priority, points Programming the Buoy Mission using the light sensor Review / Reference • Any questions from workshops 1 & 2? 4 Navigation Buoy Mission - from base - note position error run 3x 5 Navigation Experiment: move 2ft, stop, run 4-5x Program the robot to move 2 feet and stop - try running different speeds Mark: stop points and identify position error Add axles to the can-catcher to act as a pointers (show class) Mark points on the paper were the robot stops Run 4-5 times - speeds 20, 50, 90 Notice the wobble as the robot moves Draw a box around the stopping points to show X and Y Position errors Go! 15 min. 6 Navigation S curve inaccuracy & wobble Motor sensors Each motor has a rotation sensor that provides position and velocity feedback to the NXT software in the brick (video of S wobble) • • If one wheel slows, the Move block software senses the change and slows the other wheel causing the robot to wobble and veer left or right (classroom demo - show one wheel slows the other) Is there wobble difference between rear skid design and rear 3rd wheel design? why? 7 Navigation S wobble 8 Navigation Compensation for navigational errors Use mechanical means Angled corners (back into a corner) Wall follower wheels Back against a wall Width of attachment (e.g. buoy fork) Use sensors Light & touch sensors to re-establish exact robot location 9 NAVIGATION Use a starting block from base 10 Navigation What are the variables that affect going straight? 1 2 3 11 Navigation Variables that affect going straight Starting box position Speed Battery charge Tire size Motor friction, gear backlash (Google these terms) NXT software tries to keep both wheels moving at same speed - S curve inaccuracy What is distinct about the last two variables? Any questions about going straight? 12 Navigation 2 wheel turn 2 wheel “spin” turn - Move Block, with slider at end (show Move block) 13 Navigation 2 wheel “spin” turn 14 Navigation 1 wheel turn 1 wheel turn - Move Block, turn off one motor application? accuracy? 15 NAVIGATION 1 wheel turn 16 Mission Buoy Mission - no sensors Move from base to the green line and buoy Grab the buoy and place it between the black lines Go! 15 min Review of problems & solutions 17 Sensors Now that we know how to move and turn with some precision, lets take a look at sensors Sensors we can use in FLL: touch, light, rotation, distance Teams sometimes give up on sensors because they seem complex and don’t seem to work in a predictable manner Most teams feel comfortable with the built-in rotation sensors in the motors to determine the number of rotations/degrees In this segment we’ll explore the light sensor in more detail to help us navigate on the playing field 18 Sensors Light sensor variables Sensor-to-mat distance - let’s record some data: Mount the sensor on the robot about 1/8” from the mat Record black, green, & white values using NXT VIEW function Move the sensor to 3/8” from the mat, record values How does the distance affect light sensor values? As the robot moves it bounces, which distance do you think would work best, and why? Black Green White 1/8” from mat 3/8” from mat 3/4 “ from mat 19 Sensors Light sensor variables External light influence - let’s record some data: Use your hands to cover the light sensor to simulate a dark room Record black, green, & white values using NXT view function What does this tell us about light sensor performance in various room lighting conditions? Black Green White sensor uncovered sensor covered 20 Sensors Trigger point calculation LS returns value of reflected light e.g. white = 62 Trigger point (programmed) = (white - black) / 2 + black Black = 31 Example: (62-31) / 2 + 31 = ? 21 Uncalibrated Uncalibrated light sensor values Data from 7 light sensors - uncalibrated, room light on What trigger point would we use to stop on black? On green or black? 22 Calibration Calibrated light sensor values Calibration: a process to compensate for varying lighting conditions Data from two sensors - uncalibrated (left), calibrated (right) Calibration “spreads” values - lightest ~ 100, darkest ~ 0 Light Sensor 1 Light Sensor 2 23 Calibration Using the internal calibration program Connect NXT brick to your computer On the upper left corner, click “tools” and “calibrate sensors” To calibrate, do the following: Select the light sensor and the port theasensor is connected to, then click the calibration button. This will download small program to the NXT and run it automatically. On the NXTs screen you will see text that reads “Min Value:” Point the light sensor towards a material or spot that represents what the light sensor should measure as dark. Press the orange Enter button on the NXT. Next you will see text that reads “Max Value:” Point the light sensor towards a material or spot that represents the brightest location the sensor will encounter during the program. Press the orange Enter button again. Calibration is complete. Caution: After calibration, read light sensor values from the light sensor program block to determine trigger points. Do not use NXT View function, as View gives incorrect values for calibrated light sensors. W1 shows how to turn off Calibration 24 Sensors Light sensor variables Light sensor readings vary depending on: Distance of sensor from the mat Ambient light in the room The particular light sensor you are using Whether the robot’s light sensors have been calibrated or not 25 Mission Buoy Mission using sensors Move along the black line using a line follower, then up to the buoy Grab the buoy and place it on the platform Lets talk about line following... 26 Line Follow Line Following - is really edge following Steer to black - turn _____ Steer to white - turn _____ Follows left edge of black line Loop Turn _____ , wait for dark Turn _____ , wait for light Loop B Go ahead and write a program to do this 27 C Line Follow Line following - breaking out of the loop Time time is battery sensitive (# of loops) (Sensor input) workshop 4 covers loops more thoroughly Discuss line following in your team Help all team members to understand line following Judges will ask questions! B 28 C information simple line follower with left sensor stop on blue robot steers to blue line, then away note speed, zigzag & approach angle 29 information Mission planning 30 mission Buoy Mission Begin by moving away from base Use “simple line follower” Plan precise moves & turns to capture the buoy Pick up the buoy and place it on the platform Go! 20 min. Review of problems & solutions 31 information Simple line follower Robot steers to line, then away, note speed & zigzag Timed stop to break out of loop 32 review Help your teams focus on position error and repeatability 1) By breaking missions down to basic moves and turns 2) By identifying error zones 3) By compensating for errors with attachments, positioning and sensors 4) By encouraging your team to make evidence based decisions Help your team learn about robot behavior 1) Ask a simple question to focus their attention on a problem 2) Let them experiment with the problem - hands-on 3) Provide technical background information such as how to run an experiment or program a loop 4) Get the team to use what they know to solve a complex problem 5) Review what they have learned, quiz them to make sure they understand the problem and their solution - next slide has more on questions... 33 coaching Homework: Write 2-3 Formative Assessment questions that will help you determine where your team is in the process Subject-Centered Questions: What causes the patterns you noticed? What affects the number of xxx you can observe? Person-Centered Questions: How do you explain your observations? What do you think is happening with the xxx? Ask Formative Assessment questions during team meetings Review the material as needed Once you are satisfied they understand the material, move on to a Quiz 34 quiz How does the NXT software know when to stop the robot? 1) With an internal GPS 2) By counting wheel rotations 3) By measuring light values What causes the side-to-side wobble? 1) Move block software 2) Changes in light sensor values 3) The weight of the light sensor on one side Ask quiz questions at the end of a segment or team meeting to help you understand the team’s overall knowledge 35 reference Using Scientific Inquiry in Robot Design Forming a Question or Hypothesis What are the robot move and turn accuracies? Learn to ask questions that can be investigated Designing an Investigation Run 2ft straight move, then turn 90 deg Run test 5x @ 50% speed Collecting and Presenting Data Use pen & ruler to mark where robot lands Analyzing and Interpreting Results Be able to defend your conclusions Ref: Oregon Department of Education - 2009 science standards 36 Take Home Message Help your team discover and use scientific processes to understand robot moves and behavior Ask formative assessment questions to help you as coach assess where your team is, and what is needed to move them forward Resources: Scientific Inquiry: Oregon Department of Education ~ Inquiry Exploratorium.edu ~ Institute for Inquiry Winning Design!: LEGO Mindstorms NXT by James J. Trobaugh 37