Erik Von Burg Mesa Public Schools Gifted and Talented Program Johnson Elementary School elvonbur@mpsaz.org Water Sabers (2008)* High Heelers (2009)* Helmeteers (2009)* Cyber Sleuths (2009)* LEGO All Stars (2010)* SQUAD (2011) Team A-maize-ing (2011) Multi-Colored Monkeys (2011) Quacking Cats (2011)* Jet Packs (2012) Team Fusion (2013)* TBD (2014)
Workshop Agenda 1. Foundations of problem solving 2. Moving Straight 3. Turning 4. Sensors Do: Work in teams of up to 3. Note observations and ask questions. Collaborate. Fail. And try again. Take risks. Expect some frustration. Don t: Give up. Expect to be spoon-fed an answer. Be silent. Be afraid to play.
Mechanisms Structure Automation Robot
Fundamentals of Problem Solving 1. Determine problem. 2. Gather information. 3. Think of possible solutions. 4. Pick a solution. 5. Implement. 6. Test and revise.
How might I move the robot accurately, consistently, and predictably?
Back or Cancel Button Directional Buttons Select Button
Sensor Ports USB Cable Port (used to download program from computer) Motor Ports Charger
Recently Run Programs Menu Port View Menu Programs Menu Settings Menu
Challenge: Move the robot forward in a straight line.
Programming Lesson 1. EV3 interface. 2. Using the move block. Block = Command 3. Downloading the program to the brick.
error = NOT accurate, NOT consistent, or NOT predictable
Where do errors arise? Errors of translation: English Programming Language Errors of the messiness of the real world: Perfectly Controlled Programming Environment Randomness/Variability of the Real World
What is causing the error? How can we determine the origin of the error? How can we eliminate/mitigate the error?
Movement Problems Observed Behavior Curving/Turning Fishtail/Swagger Initial Jump Doesn t Move Possible Root Problems -Tires are different sizes. -Tires are not turning at the same speed. Motors are moving at different speeds. Motors start moving at different times. -Program problems. -Miscommunication between motors and brick. Possible Reasons for Problems -Tires improperly seated. -Tires are rubbing against motor. -Manufacturing error. Unmatched motors. Gear slop varies. -Loose wire connections. -Motor port problems. -Wires incorrectly connected.
How might I move the robot accurately, consistently, and predictably?
Fundamentals of Problem Solving 1. Determine problem. 2. Gather information. 3. Think of possible solutions. 4. Pick a solution. 5. Implement. 6. Test and revise.
Problem Solving Process 1. What s the specific or root problem? 2. What information is out there? What do I need to know? 3. What are some ideas? 4. Which idea should I go with? 5. What steps do I need to take? 6. What worked? What didn t? What can I improve?
Challenge: Park the robot between the lines.
Bonus Challenge: Park the robot as close to the wall as possible.
And, oh by the way, succeed the first time!
Follow-up Questions/Challenges Does changing the wheel size affect your program? Repeat the challenge over a greater distance. Does this change your approach? How does the power setting (speed) affect the robot? How could you create a formula to determine the number of rotations for any given distance? How might you move past the parking space and back into the spot? How does the initial placement affect where the robot ends up?
Please stop working and be ready to discuss.
Math Behind the Moves The distance the robot travels (D t ) is determined by the number of rotations (n) and the circumference of the tire (C). D t = n C Knowing this, we can use this solve for the tire circumference using the following equation. C = D t n When you know the tire circumference, you can determine the distance the robot will travel in one rotation. You can also distance travelled (D t ) by using the speed of the robot (S) and the time the motors are on (t). This is not recommended because speed is not constant. D t = S t
Scaffolding Instruction In what ways could you determine the number of rotations necessary to move a certain distance? Concrete Abstract
Let s add some turns.
Turning Pivot Turns One wheel turns while the other is stationary. Tank Turns One wheel turns forward and one turns backward.
Measuring Turns
Turn Calibration Exercises 360 Turn Calibration Program the robot to complete the following three actions: 1.Move forward about 2 rotations. 2.Turn 360. 3.Move forward about 1 rotations. Four Turn Test Program the robot to drive in a square using move block and a loop. This will help determine accurate 90 turns. Over steer (decrease turn) Perfect Turn Parameter Under steer Over steer Under steer (increase turn)
Please stop working and be ready to discuss.
Predictable Turn Angles Tire Rotations Number of Rotations = = Path Length Tire Circumference (Desired Turn Angle/360 )(2πr) Tire Circumference r
Question Sequence- Questioning Strategy How many rotations did it take to complete a 360 turn? How might you use this to determine how many rotations it would take to make a 90 turn? How many rotations will it take to have the robot complete a 1 turn? If this is true, how many rotations would it take to make a 149 turn?
Visualizing Turn Mechanics Tire Rotations Turning Jig One wheel turns while the other is locked into position.
Motion Mapping Obstacle Course Race 1 2 3 Step Measurement Rotations 1 F 16 2.3 2 R 45 0.48 3 F 8.5 1.2 4 R 90 0.96 5 F 30 4.3 5 First Robot Across Finish Line WINS!! 4
Challenge: Park the robot in the parking space.
Challenge: Park the robot in the parking space. Starting Line No part of the EV3 can be out of the parking space. Parking Space
Bonus Challenge: Move your robot through the maze.
Challenge: Navigate the Maze Move the robot from the beginning of the maze to the end. NXT can not touch the wall. Starting Line Finish Line
Challenge Time Challenges: 1. Turn to Parking Spot 2. Navigate the Maze 3. Create your own challenge (with straight lines and turns). Want to explore more? Try some of these changes. Try different speeds. Try different directions. Add more movements. Move in a figure 8. Navigate an obstacle course. Retrieve an object. Use your imagination.
Discussion Questions How does the initial placement affect the ending position? How can you accurately place the robot in the beginning? Does wheel size affect turn parameters? Castor wheels and sliders which is better? How do surfaces effect turn accuracy? Does weight placement affect the turn? Where should the weight be placed on a robot?
How might we use sensors to move the robot more accurately, consistently, and predictably?
How might we use sensors to find reference points or landmarks to move the robot more accurately, consistently, and predictably?
Sensors allow the robot to gather information to find intermediate reference points or landmarks. Shorter move distances = Less error Dynamic information gathering = Larger margin of error
EV3 Sensors Touch Ultrasonic Light Gyro Rotation
Programming Logic 1. turn on motor D to 50 2. wait until rotation sensor gets to 4 rotations 3. stop motor D
Programming Logic 1. turn on motor D to 50 2. wait until rotation sensor gets to 4 rotations 3. stop motor D
Programming Logic 1. turn on motor D to 50 2. wait until rotation sensor gets to 4 rotations 3. stop motor D
Programming Logic 1. turn on motor D to 50 2. wait until distance? touch? angle? color? 3. stop motor D
Challenge: Use sensors to park between two lines without knowing the starting line.
Challenge: Use sensors to move within two cm of a wall.
Challenge: Use sensors to solve the maze.
Sensor Challenges 1. Park between two lines without knowing the starting line. 2. Stop the robot within 2 cm of a wall without knowing starting line. 3. Solve the maze. 4. Invent your own. 5. BONUS: Have robot continuously explore room without getting stuck. 6. SUPER EXTRA BONUS: Follow a line. 7. EXTRAORDINARILY HUGE BONUS: Solve the maze regardless of starting point.
Obstacle Course Challenge Finish Start Task: How might you program your robot to move through the obstacle course. Constraints: -You must use at least two sensors. -You may not use any fixed duration move blocks to move the robot forward. You may use them on turns.