Classroom Activities for the Busy Teacher: EV3



Similar documents
understanding sensors

How To Program An Nxt Mindstorms On A Computer Or Tablet Computer

2/26/2008. Sensors For Robotics. What is sensing? Why do robots need sensors? What is the angle of my arm? internal information

EV3 Programming. Overview for FLL Coaches. A very big high five to Tony Ayad

The Basics of Robot Mazes Teacher Notes

Quick Start Guide to computer control and robotics using LEGO MINDSTORMS for Schools

Can Traffic Accidents be eliminated by Robots?

Introduction to programming moway

North Texas FLL Coaches' Clinics. Beginning Programming October Patrick R. Michaud republicofpi.org

C.I. La chaîne d information LES CAPTEURS. Page 1 sur 5

The second goal is to provide a list of tips, tricks, and best known methods that have been discovered over the life span of the course.

SE05: Getting Started with Cognex DataMan Bar Code Readers - Hands On Lab Werner Solution Expo April 8 & 9

Tutorial 1. Introduction to robot

CONTENTS. What is ROBOTC? Section I: The Basics

Tutorial for Programming the LEGO MINDSTORMS NXT

Lego Robot Tutorials Touch Sensors

TX GSM SMS Auto-dial Alarm System. Installation and User Manual

Programming LEGO NXT Robots using NXC

Additional Guides. TETRIX Getting Started Guide NXT Brick Guide

Cycles in the Sky. Teacher Guide: Cycles in the Sky Page 1 of Discovery Communications, LLC

LEARNING MOBILE ROBOTICS USING LEGO MINDSTORMS

DCC - PUC. IIC-3684 Mobile Robotics. Mobile Robots IIC Robots History. Professor : Alvaro Soto. Alvaro Soto Ch. 2.

Definitions. A [non-living] physical agent that performs tasks by manipulating the physical world. Categories of robots

Analog control unit for mobile robots

Your EdVenture into Robotics You re a Programmer

The NXT Generation. A complete learning solution

Advanced Programming with LEGO NXT MindStorms

product. Please read this instruction before setup your VenomXTM.

Statistics and Probability

How To Turn On A Robot On A Computer On A Black Box On A Pc Or Macbook

Instruction Manual Service Program ULTRA-PROG-IR

Introduction to the TI-Nspire CX

FUNDAMENTALS OF ROBOTICS

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]

CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy

Business/Home GSM Alarm System. Installation and User Manual

Programming the VEX Robot

PALLETS ROLLER CONVEYOR LOADING CONVEYOR CHAIN TRANSFER TURNTABLE ROLLER STOP

Guide to the... Nissan Leaf. Completely harmless fun with. City Car Club 100% electric

STRING TELEPHONES. Education Development Center, Inc. DESIGN IT! ENGINEERING IN AFTER SCHOOL PROGRAMS. KELVIN Stock #651817

Your EdVenture into Robotics You re a Programmer

e d u c a t i o n NXT Solar Station

Workshop NXT Programming For Beginners

TETRIX Add-On Extensions. Encoder Programming Guide (ROBOTC )

Grade 6 Standard 3 Unit Test A Astronomy. 1. The four inner planets are rocky and small. Which description best fits the next four outer planets?

Your EdVenture into Robotics You re a Controller

NASA Explorer Schools Pre-Algebra Unit Lesson 2 Student Workbook. Solar System Math. Comparing Mass, Gravity, Composition, & Density

Classroom Activities. These educational materials were developed by the Carnegie Science Center <

Table of Contents Getting Started... 3 The Motors... 4 The Control Board... 5 Setting up the Computer with Mach Starting up the Equipment...

Potential vs. Kinetic Energy

CIM Computer Integrated Manufacturing

Title: Line of Best Fit. Brief Overview:

Getting Started in Tinkercad

parts of an airplane Getting on an Airplane BOX Museum Aeronautics Research Mission Directorate in a Series

What Is an Electric Motor? How Does a Rotation Sensor Work?

Business/Home. GSM Alarm system

How To Run A Factory I/O On A Microsoft Gpu 2.5 (Sdk) On A Computer Or Microsoft Powerbook 2.3 (Powerpoint) On An Android Computer Or Macbook 2 (Powerstation) On

SketchUp Instructions

500 Series.

Introduction to Robotics. Vikram Kapila, Associate Professor, Mechanical Engineering

YOSEMITE REGIONAL OCCUPATIONAL PROGRAM COURSE OUTLINE. COURSE TITLE: Robotics Engineering I ROP S1 Robotics Engineering I ROP S2

Line Tracking Basic Lesson

Best Robotics Sample Program Quick Start

Business/Home GSM. Alarm System(III) Installation and Users guide

How Landsat Images are Made

Science Notebooks in the Classroom. Notebook Criteria

Adding Animation With Cinema 4D XL

Industrial Robotics. Training Objective

Step by step guide to installing your own Ku Band satellite dish

Digital Single Axis Controller

LEGO NXT-based Robotic Arm

Input and Output Devices

Performance Dashboard Tutorial

Gephi Tutorial Visualization

ROBOTICS AND AUTONOMOUS SYSTEMS

By: M.Habibullah Pagarkar Kaushal Parekh Jogen Shah Jignasa Desai Prarthna Advani Siddhesh Sarvankar Nikhil Ghate

File Management Windows

SpaceClaim Introduction Training Session. A SpaceClaim Support Document

The Rocket Steam Locomotive - Animation

Introduction Configuring Your HP Mouse Batteries Replacing the Batteries Mouse Sensor Technology Navigating the HP Mouse Control Center

How to program a Zumo Robot with Simulink

User Manual. NETGEAR, Inc. 350 East Plumeria Drive San Jose, CA 95134, USA. December

Robotics and Automation Blueprint

Writer Guide. Chapter 15 Using Forms in Writer

Create a Poster Using Publisher

- Time-lapse panorama - TWAN (The World At Night) - Astro-Panoramic Photography

AS COMPETITION PAPER 2008

SC Analysis Software. The software provides 5 main functions:

F1000T, F1000W System Start up & Calibration procedure

The Richard Pate School. Draft Year 4 Scheme of Work for Scratch

NOQ_NQ-9121 Z-Wave Data Logger for Gas Meters Firmware Version : 2.55

FRC WPI Robotics Library Overview

Which month has larger and smaller day time?

Development of Combined Automatic Blade Control for Snow-Removing Grader

The Dashboard. Change ActivInspire's Look And Feel. ActivInspire Primary. ActivInspire Studio. <- Primary. Studio -> page 1

Quickstart for Desktop Version

Photoshop- Image Editing

Transcription:

Classroom Activities for the Busy Teacher: EV3

Table of Contents Chapter 1: Introduction... 1 Chapter 2: RileyRover Basics... 5 Chapter 3: Keeping Track... 13 Chapter 4: What is a Robot?... 17 Chapter 5: Flowcharting... 23 Chapter 6: How Far?... 27 Chapter 7: How Fast?... 31 Chapter 8: That Bot has Personality!... 35 Chapter 9: How Many Sides?... 41 Chapter 10: Help, I'm Stuck!... 45 Chapter 11: Let s go Prospecting!... 51 Chapter 12: Stay Away from the Edge... 55 Chapter 13: Prospecting and Staying Safe... 57 Chapter 14: Going Up and Going Down... 61 Chapter 15: Cargo Delivery... 65 Chapter 16: Prepare the Landing Zone... 71 Chapter 17: Meet your Adoring Public!... 75 Chapter 18: As seen on TV!... 77 Chapter 19: Mini-Golf... 79 Chapter 20: Dancing Robots... 83 Chapter 21: Robot Wave... 87 Chapter 22: Robot Butler... 91 Chapter 23: Student Worksheets... 93 Chapter 24: Building Instructions... 118

Chapter 1: Introduction This book is a guide for teachers implementing a robotics unit in the classroom. It is aimed at middle years schooling (ages 9-15) but the wide range of activities can be adapted to suit older or younger students. The book is based around a single robot, the RileyRover, which is used in all activities. This approach is valuable in resource limited classrooms, as it allows the teacher to work with a 'standard' robot, rather than using valuable classroom time building and breaking down robots each lesson. The RileyRover design can be found at the back of the book, as well as being freely available online www.damienkee.com. Please send me an email and let me know if you are using the design! All activities are based around the 45544 LEGO MINDSTORMS Education EV3 core set. While the activities can be performed with the EV3 brick from Retail or Education, the building instructions have been compiled with the 45544 set in mind. It is assumed that the teacher has a basic knowledge of how to open the EV3 programming environment and how to download a program to the EV3 unit. Please see the excellent tutorials built into the EV3 software environment for more information. The book is divided into sections that follow a 10 week plan, although this can be modified to suit the needs of the teacher. The first 6 weeks takes students through a series of activities, progressively exposing them to new aspects of the EV3 programming environment. Following is a set of open ended challenges from which teachers may pick and choose to suit their particular class. All challenges follow a similar structure: Scenario setup + background information. Teachers are free to develop each scenario further as they see fit. Equipment list. Aside from the standard EV3 robotics kit, all other required resources are easily sourced within a school environment. Teacher notes are provided on common issues that may arise with each challenge and how they are best dealt with. Programming examples in the EV3 software environment. Student worksheets to fill out (photocopy / print permission is provided). Extension activities. 1

Chapter 2: RileyRover Basics Overview: Build a robot that is capable of driving around an obstacle course. Project: NASA is in the market for a new planetary rover to explore the recently discover planet Tobor-3. You are required to construct and test a robot that is capable of following a set of commands to explore the planet's surface. Before the robot is deployed, it must be extensively tested to ensure it will perform as expected. You can't fly a technician to Tobor-3 to reboot the robot! Equipment required 1 EV3 robot kit per group 1 computer per group Masking tape and Tape measure Teachers Notes This section will cover the following topics amongst others Basic numeracy Decimal and fractional numbers Relationship between diameter and circumference Conversion between millimetres and inches Get the students to build RileyRover robot presented in Building Instructions. Photocopy and hand out Student Worksheet RileyRover Basics. This worksheet gives the students a range of different activities to follow that progressively increase in difficulty. To make our robot move, we need to send instructions to the motors which in turn drive the wheels. The RileyRover design is often referred to as a wheelchair configuration, as it has a Left and Right motor that allows the robot to drive forwards, backwards and make turns. EV3 Software Specific To perform the programming, we will need to know about the Move Steering Block, located in the Action Blocks palette (green). The figure below shows the Move Steering Block, highlighting its different block inputs. 5

RileyRover Basics The Move Steering Block has several different parts to it as shown below. The Port Selector identifies which Ports the motors are connected to. If you are using the RileyRover design, ensure that you have the left motor connected to Port B and the right motor connected to Port C (cables will crossover). If these are in the wrong spots, then our robot will turn left when we say turn right and vice versa. The Mode Selector selects how you would like to control the duration the wheels will turn; OFF, ON, On for a certain number of seconds, On for a certain number of degrees or On for a certain number of rotations. 6

RileyRover Basics Block Inputs The Block Inputs change depending on which Mode Selector has been chosen. Steering: You can either type in a number, or drag the slider bar. 0 means straight ahead, -100 means tight turn left and 100 means tight turn right. Numbers in between these limits will give you varying turns, from quite gradual turns through to very tight turns. Power: Again you can type in a number or use the slider bar. 100 means as fast as possible forward, -100 means as fast as possible backwards and 0 means no power (effectively a stop). Numbers in between these limits will make the robot travel at different speeds either forwards or backwards. Rotations / Degrees / Seconds: This input (visible depending on which Mode Selectors was chosen) specifies how far the wheels of the robot will travel, ie. 2 in Rotations mode will make the robot s wheels turn two rotations, 4.5 in Seconds mode will make the robot s wheels turn for four and a half seconds. Brake at End: After the robot has completed its movement, the robot can either immediately apply the brakes to the motors (TRUE) or let the motors coast to a stop (FALSE). Let s choose the On for Rotations option for the moment. With this mode selected, we can now set the different Block Inputs to complete the first question on the Student worksheet: Drive Forward 2 Rotations. If all goes to plan, the wheels of your robot should drive forward exactly two rotations. 7

What is a Robot? What are the main components of a robot? Robots can be broken down into three distinct components; Sensors, Computation and Actuators. Sensors are used to 'feel' the surrounding environment. The robot uses these sensors to take in information about where it is and what it is doing. Different sensors can be used to sense different conditions including light and dark, temperature, bump sensors, ultrasonic, infrared the list goes on and on. Think about what senses a human has, and how a robot replicates them. Sensors are classed as inputs, that is, they take information and input it into the robot s brain. The Computation component consists of an onboard computer that the robot uses to process the information coming from its sensors. This can be as small as a few integrated circuits right through to a full personal computer. The level of complexity of the required tasks will dictate the amount of computational ability needed by the robot. The last distinct component of a robot are its Actuators. Actuators are a fancy way of saying 'parts that do things'. These may be motors in the wheels, or engines that make the arms go back and forth. It could also be hydraulic pistons or pneumatic cylinders. Actuators are a form of outputs, along with lights and speakers. The robot Computation tells these outputs to do different tasks. Generally speaking, the sensors provide the information to the computers, which in turn tell the motors what to do. information information Sensors Computation Actuators Path of information flow in a robot Where did the term 'Robot' come from? While the idea of artificial beings have been around for many years, the term 'robot' was first coined by Czech writer Karel Čapek in his play R.U.R. (Rossum's Universal Robots) in 1920. The word is derived from the Czech 'robota', which translates as 'forced work', 'slave' or 'servitude'. Čapek credits his brother Josef as the true inventor of the word. Robots have enjoyed the majority of their exposure through movies and science fiction writings, such Star Wars and the Asimov series of 'Robot' books. Robots in their presently accepted state were first developed in the 1950's, with George Devol's Unimate robot, capable of lifting hot pieces of metal from a die casting machine and stacking them. The first Unimate was sold to a General Motors assembly plant in New Jersey. 20

How Far? Theory This activity will look at the effect that changing the time of travel of the robot has on the distance it moves. It will become evident that the longer a robot travels the further it travels, but can the relationship between time and distance be predicted? Students will program their robot to travel for 1 second at a specific power level. The same experiment is run again this time for 1.5 seconds at the same power level. Students should take as many measurements as time allows with a wide variety of times. Encourage the students to take multiple runs and take the average of all their data to reduce the impact of experimental error. Keep increasing the length of time the robot is travelling and record the distance. By plotting the distance travelled (vertical axis) against the time taken (horizontal axis) students are able to build up a graph of their data. Students should find that there is a linear (straight line) relationship between the time programmed and the distance travelled. The slope of this line is the velocity of the robot (distance/time). A random power level between 50% and 100% is assigned to each group, ensuring different results for each group. They cannot copy another group s data as it would be inaccurate for their robot. This data was taken for the standard RileyRover running with a full battery. Lower battery levels will change the speed of the robot so ensure that all data is gathered in one session, using the same robot each time. 28

How Fast? The relationship between the time it takes to travel 5 rotations and the power level of the wheels is not a linear relationship. Given we know the time taken and the distance travelled, we can now calculate the speed of the robot for each power level. A graph of Speed against Power can be graphed by determining the distance travel over 5 rotations (879mm OR 34.6 inches) To determine the speed of the robot for each data point, divide the distance travelled over 5 rotations, by the time taken over 5 rotations. eg. If our robot takes 8.2 seconds to travel 5 rotations, then the speed can be calculated as follows; With this data, students should now find a roughly straight line relationship between speed the robot travels and power level applied to the motors. 33

That Bot has Personality! Text mode allows us to specify a particular phrase of our own choosing such as Take me to your leader! or Do you have any bananas?. The Text mode can be used in either Pixel or Grid configuration. When in Pixel mode, the X and Y parameters refer to the pixel location of the text. The EV3 screen has 178 horizontal pixels (0-177) and 128 vertical pixels (0-127). When in Grid mode, the X and Y parameters refer to the row and column location of the text. The EV3 screen has 12 rows (0-11) and 22 columns (0-21). For both the Grid and Pixel mode, counting of the rows and columns starts from the top left, ie. Row 0, Column 0 is the very top, left pixel. As with the Sound Block, the Display Block is an excellent way for students to keep track of where in the program their robot is currently at. Eg. Have your robot display on the screen a smiley face when it is driving forward, and a frowning face when it is driving backwards. Brick Status Block Underneath the buttons of the physical EV3 brick are several coloured LEDs (Light Emitting Diodes). These typically flash green as a program runs, but they can also be controlled by the program itself. The Brick Status Block can turn the lights ON or OFF, choose a colour (Green, Orange or Red) and set if they are blinking or not. 38

Help, I'm Stuck! It helps to use a flowchart to plan what the robot will do. Start driving forward This approach will still use the Move Steering Block, but rather than choosing the Seconds, Degrees or Rotations mode, we will use the On mode. This will turn the motors on and proceed to the next programming block. The motors will continue to drive, until another Move Steering Block instructs it otherwise. The Wait Block Wait until you detect the obstacle Stop the motors The next block will instruct the robot to wait until an obstacle has been detected. This is achieved with a Wait Block. The Wait Block can be configured to wait for a specific amount of time or wait until some condition has been observed with a sensor. In this case, the robot will be using the Ultrasonic Sensor Mode. 47

Chapter 12: Stay Away from the Edge Overview: Use the Colour Sensor to remain on the table. Project: Another challenge the robot faces is staying safe whilst navigating on top of a large plateau. Get too close and over you go! NASA has asked that you prove your robot is capable of staying away from the edge of a cliff. Equipment required 1 EV3 robot kit per group 1 computer per group Table top Teachers Notes The algorithm for this particular challenge is very similar to the previous challenge, but using the Colour Sensor to detect No Colour. Make sure your students are ready to catch the robot; just in case! Example Program Start driving forward Wait until you detect the edge of the desk Stop your motors TIP: If your robot only barely stays on the table, try lowering the power of the Move Steering Block. 55

Prospecting and Staying Safe Example Program 59

Prepare the Landing Zone Example Program TIP: In the above example we have closed and opened the Gripper Attachment using the On for Seconds mode of the Move Steering Block. This is often a better choice than either the On for Rotations or On for Degrees modes as it prevents the program from locking up if the gripper cannot close completely because of an unexpectedly large object to grab. ie. If the gripper motor is programmed to close for 6 rotations, but grabs the object after only 4 rotations, then program will never reach the required 6 rotations and will never be able to move on to the next programming block. If the gripper motor is programmed to close for 4 seconds (as in the above example), then even if the object is grabbed after 3 seconds, the program can continue on after the 4 seconds has passed. 73

RileyRover Basics Group Name Group Members Project: NASA is in the market for a new planetary rover to explore the recently discover planet Tobor-3. You are required to construct and test a robot that is capable of following a set of commands to explore the planet's surface. Before the robot is deployed, it must be extensively tested to ensure it will perform as expected. You can't fly a technician to Tobor-3 to reboot the robot! Before we send our robot into space, we must first test it thoroughly here on earth. Run the following experiments and observe how your robot behaves. Do not move to the next experiment until your teacher has seen your current experiment. Drive Forward for 2 rotations of the wheels How far did your robot travel? Drive Forward for 2 degrees of the wheels How far did your robot travel? Drive Forward for 2 seconds of the wheels How far did your robot travel? What is the circumference of the robots wheel? (hint: you will need to measure the diameter of the wheel) How far will the robot drive if the wheels turn 3 rotations? Program your robot to move 3 rotations and measure how far it goes. Does it go as far as you expected? Drive Forward 5 rotations slowly and then 1800 degrees backwards as fast as possible. Make your robot turn around a complete circle (360 degrees). What happened? How far did your robot turn if you type in 360? How many Degrees of the Wheel does your robot need to turn a complete circle? (hint: keep experimenting until it is perfect!)

Prospecting and Staying Safe Group Name Group Members Project: NASA are very impressed, but they note with your last program, while the robot is looking for the edge of the plateau, it is not doing any prospecting. Is there a way to do both at the same time? As there is only one Wait Block that can be used to determine colour, you will need to find a way for the robot to be able to determine which colour it has seen. This can be achieved with a Switch Block. Use this flow chart as a starting point, and fill in the blank spaces Detects Green Start driving forward Wait until you detect Green or No Colour Stop your motors What Colour? Detects No Colour