EV3 Workshop Curriculum Developed by Joe DeRose, Ph.D.

Slides:



Advertisements
Similar presentations
Robofest 2007 NXT Programming Workshop Jan
Advertisements

Intro to NXT Programming
RoboParade Workshop II CJ Chung, Ph.D. Founder & Director of Robofest and RoboParade Brought to you by a grant from.
Robofest 2005 Introduction to Programming RIS 2.0 RCX Code.
Chung for Robofest 05 1 Introduction to RoboLab CJ Chung Lawrence Technological University.
Introduction to LEGO NXT robotics and Robot Sumo for
Introduction to LEGO NXT robotics and Robot Sumo
Each team has their own: a.Laptop computer b.LEGO NXT robot c.USB cable d.Light paper on the table to test the robot Sit Down in Teams of 2.
Getting started with LEGO NXT Mindstorms software This is intended to be a short introduction to the LEGO Mindstorms software and programming the LEGO.
1 North Alabama Robotics Team Monkey Madness FLL Intro Programming Workshop 2012 Kim Daugherty
LabView Basics.
Graphical RobotC NXT (EV3) Robot Workshop 2015 Instructor: Dr. Fred Brauchler Assistant: Chris Parker 2/7/2015Lawrence Technological University1.
© 2006 Carnegie Mellon Robotics Academy Designed for use with the LEGO MINDSTORMS ® Education NXT Software and Base Set #9797 Mine Mapping Choose a Sensor.
EV3 Software EV3 Robot Workshop 2015
EIGHTH GRADE ROBOTICS KITTATINNY REGIONAL HIGH SCHOOL MR. SHEA Introduction to Robotics Day4.
Introduction to NXT Software and Functionality Bot’oberfest October 15, 2007.
1 ©2006 INSciTE Lab Two Task: Make the program from Lab One (Move forward 5 rotations and turn right 90 degrees) into a MyBlock.
The NXT is the brain of a MINDSTORMS® robot. It’s an intelligent, computer-controlled LEGO® brick that lets a MINDSTORMS robot come alive and perform.
LEGO Mindstorms NXT Programming We will be using the Common Palette for our Robots This is how you download your program onto the brick Drag and drop a.
Robotics Enrichment class Mr. Bosworth. Goals of Class Learn how to build a basic robot that performs various functions Learn how to program robot to.
Introduction to LEGO NXT robotics and Robot Sumo – Sept 20, 2008 Douglas G. Czinder IEEE SEM R&A Chairperson Professor Keith Bozin.
Program ultrasonic range sensor in autonomous mode
GIRLS Robotic Camp. Let’s Begin Meet and Greet – Camp leaders introduce themselves – Students introduce themselves.
Adapted for STLP Camp ‘09 Mobile Robots Why do robots need to move?
Introduction to the Basic Parts of LEGO’s NXT Robotics
ORTOP WORKSHOP 3 ROBOT NAVIGATION & MISSIONS ORTOP WORKSHOP 3 ROBOT NAVIGATION & MISSIONS.
Application of Math and Science Principles Creating a robot that moves a specified distance straight ahead and Creating a robot that turns a specified.
2 3  A machine  Built to help us  Autonomous (not remote control)  If we want robots to do things for us, we have.
Robotics Light sensor. Calibration. Reverse engineering challenge. Lab work: Create and show your program. Add light sensor (different orientations). Robot.
EV3 Workshop Oct 3, 2015 Instructor: Chris Cartwright
Negative Power or Negative Rotation makes robot go backwards. But if both are negative, the robot will go forward! Move Steering Block.
Sentry System Multiple Sensors
Lego MindStorm An Introduction to Blocks. Blocks Blocks are used to give instructions to your robot. There are many types of blocks You can use the blocks.
Castor Bot. Now, we will begin creating a robot Log onto your computer On your screen, click on the website labeled “castor bot” Your building instructions.
Find the Mindstorms Icon on the computer.. To start a new program click go.
LEGO® MINDSTORMS® NXT Move Block.
By Droids Robotics INTERMEDIATE PROGRAMMIN G LESSON MOVE DISTANCE MY BLOCK (MOVE_CM)
EV3 Software EV3 Robot Workshop
ROBOTC Software EV3 Robot Workshop
BEGINNER FLL PROGRAMMING WORKSHOP BY DROIDS ROBOTICS & EV3LESSONS.
ROBOTC Software EV3 Robot Workshop Lawrence Technological University.
By Droids Robotics INTERMEDIATE PROGRAMMIN G LESSON COLOR LINE FOLLOWER MY BLOCK WITH INPUTS: MOVE FOR DISTANCE.
Casne.ncl.ac.uk Taking care of the CrumbleBot Please do NOT stress the robot's motors 1.Do NOT push the robot 2.Do NOT hold the.
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
Lego Mindstorm Robots 9797 kit.  Students will learn how to identify how to detect a change in a condition.  Students will learn where and how to identify.
Introduction to LEGO RCX robotics and Robot Sumo Douglas G. Czinder IEEE SEM R&A Chairperson Ms. Susan Latos Robofest Assistant Coordinator.
LEGO Robotics Workshop
INTERMEDIATE PROGRAMMING Lesson
NXT Mindstorms Kit Programming
LEGO MINDSTORMS PROGRAMMING
Exploring Computer Science Lesson 6-5
ORTOP Workshop 3 Robot Navigation & Missions
INTERMEDIATE PROGRAMMING LESSON
Mindstorms EV3 Programming
Follow The Guidelines.
Mindstorms EV3 Programming
Mindstorms EV3 Programming
INTERMEDIATE PROGRAMMING LESSON
Robot Programming Computer Literacy S2.
INTERMEDIATE PROGRAMMING LESSON
INTERMEDIATE PROGRAMMING LESSON
Exploring Computer Science Lesson 6-5
INTERMEDIATE PROGRAMMING LESSON
INTERMEDIATE PROGRAMMING LESSON
Lego EV3 Mindstorms SW Programming Blocks.
INTERMEDIATE PROGRAMMING LESSON
Lego MINDSTORMS EV3.
Getting started with LEGO EV3 Mindstorms software
LEGO MINDSTORMS NXT PROGRAMMING
Presentation transcript:

EV3 Workshop Curriculum Developed by Joe DeRose, Ph.D. Robefest Lead Instructor 10/26/2013 Curriculum Based Off NXT Version Developed by CJ Chung, Ph.D. Professor / Robofest Founder & Director Lawrence Technological University

Lego NXT robot used – OmniBot Touch Sensor Right Motor: C NXT Computer Sonar Sensor Sound Sensor Left Motor: B Color Sensor

Remember the connections! Left Motor connects to B Right Motor connects to C Color sensor connects to port no. 1 Touch sensor connects to port no. 2 Sound sensor connects to port no. 3 Sonar sensor connects to port no. 4

EV3 Versions Used Examples are using EV3 Version 1.0.1 NXT Firmware version: 1.31 All example programs in RoboParade.ev3 Free version from EV3 may be downloaded http://www.lego.com/en-us/mindstorms/downloads/software/ddsoftwaredownload/download-software

Go straight for 2 seconds using different power levels Mission 0: Go straight for 2 seconds using different power levels launch LEGO MINDSTORMS Education EV3

Go forward for 2 seconds with power level 40 % EV3 offers two move blocks Move Steering Block: Controls and regulates two motors with a steering input and single power level. (+) steering = right; (-) steering = left Move Tank Block: Controls two motors with a power level to each motor In this course we will sue the Move Steering Block.

Let’s test it Connect the NXT to the laptop (if this is the first time, then a “Found New Hardware” message will appear) Click on the ‘Download’ button It’s recommended to always unplug the cable from the bot before running the program Navigate through the NXT’s menu: Turn On > My Files > Software Files Then select your program and run it!

Let’s measure the distance traveled How many centimeters when 40% power used? How many centimeters when 70% power used? How to find out the current battery voltage level?

NXT motors: geared motor with built-in rotation sensor Rotation sensor gives “degrees” turned. (It can also give “rotations,” but the pop-up incorrectly displays “degrees.”) For example, if the value is 360, the motor turned one rotation.

Display the “degrees” when the bot goes forward for 4 seconds Mission 1: Display the “degrees” when the bot goes forward for 4 seconds

Display the “degrees” turned for going forward for 4 seconds Program: DisplayDegrees

Review Number of rotations = degrees / 360 Circumference of a circle = diameter * 3.14 Travel distance = number of rotations * circumference of the wheel Speed = distance / time

How to calculate the average speed of robot for that 4 seconds ? If “degrees” were 1,300, then how many times the wheel was rotated? If the circumference of the wheel is 17cm, what is the travel distance for 4 sec? Then what is the averaged speed of the robot for the 4 seconds? Note: RoboParade has min and max speed limits. 7 ~ 17 cm/sec Ans:1300/360 # rotation * circumference. (1300/360)*17 Speed = travel distance / 4

Display the “speed” when the bot goes forward for 4 seconds Mission 2: Display the “speed” when the bot goes forward for 4 seconds

HOW DO YOU CALCULATE SPEED? v = distance / time (cm/second)

Example when the degrees = 1300

Program: DisplaySpeed Demonstrate to create this program from scratch!

Exercise We can make the program shorter Instead of multiplying by 17 and then dividing by 360*4=1440, we can just multiply by 17/1440=0.0118 This uses one math block instead of two

Sonar (ultrasonic) sensor Endless loop Decision making Sound sensor NXT-G Basics Sonar (ultrasonic) sensor Endless loop Decision making Sound sensor

Ultrasonic Sensor Uses the same scientific principle as bats Can measure in centimeters or inches Large objects with hard surfaces return the best readings

Can you tell what the following program, usTst2, is doing? Let them just open “usTst2.rbt” and test the program. Data driven

Mission 3: Clap -> Move (Program: clapMove1) Use a Sound Sensor connected to port no. 3 If sound level is greater than 70, go for 1 rotation Otherwise, do nothing Let them create this program. Solution file should not be given to students.

Line following using a Color Sensor Mission 4: Line following using a Color Sensor

NXT Color Sensor Percent Mode: 5% = lowest dark 100% = very bright Reflected Light Mode: shines a red light The light can be turned off – detecting ambient light (surrounding light) We will use EV3 Experiments to test our color sensor

NXT Color Sensor Create a New Experiment

NXT Color Sensor Set up the experiment to plot the color sensor reading using “Reflective Light Intensity” Run the experiment with the light sensor over various objects Run

NXT Color Sensor Sample results Reflective Tape Test Mat Black Tape

Zigzag Line following Idea Left side following Right side following

Simple Line Following Algorithm Program: LineFlowZZ Right side Right side or Left side following?

How and Where to start the robot? C

How and Where to start the robot? C

How and Where to start the robot? Lost… C B

FOLLOW THE PARADE ROUTE AND STOP WHEN AN OBJECT IS SENSED IN FRONT Mission 5: FOLLOW THE PARADE ROUTE AND STOP WHEN AN OBJECT IS SENSED IN FRONT

Parade Program Endless loop { } If sonar sensor detects an object Stop!!!!! Otherwise Follow the black line }

Program: Roboparade

How to connect a parallel sequence beam? Two methods Spilt sequence beam Add additional Start Blocks

Mission 6: RoboParade with Speed Display (every 2 seconds) – RoboParadeSD

How to improve your robot and computer program for the Parade Go to www.robofest.net Click on Tech Resources button on the left There will be a PPT with more ideas and tips for Roboparade

Smoother Line following using a Color Sensor Mission 7: Smoother Line following using a Color Sensor

How to improve our line following algorithm Zig-zag method can cause a bumpy response We can improve the performance by using a more sophisticated algorithm Line Mat Line Mat Line Mat

3-Level Line Follower Divide light sensor reading range into three levels For your robot σ Line Line + σ Mat - σ Mat Turn Right Straight Turn left Line = _____ Mat = _____ σ = _____ Line + σ = _____ Mat - σ = _____

Program: LineFollowThreeState Mat - σ Mat Turn Right Straight Turn Left

Proportional Control Line Follower Use linear relationship between the light sensor reading and steering (x1,y1) (Black Line, Steer Right) (23, 15) for my robot y = m*x + b Steering Input (y) Light Sensor Reading (x) (x2,y2) (Mat, Steer Left) (44,-15) for my robot

Proportional Control Line Follower Find the line slope (m) Find the y-axis intercept 𝑚= 𝑟𝑖𝑠𝑒 𝑟𝑢𝑛 = 𝑦2−𝑦1 𝑥2−𝑥1 𝑦−𝑦1=𝑚(𝑥−𝑥1) (Point slope form) 𝑦=𝑚𝑥+(−𝑚∗𝑥1 +𝑦1) (Rearrange to y=mx+b) 𝑏=−𝑚∗𝑥1 +𝑦1 (Find expression for b)

Proportional Control Line Follower (x1,y1) = (23, 15) An example Find the y-axis intercept (x2,y2) = (44, -15) 𝑚= 𝑟𝑖𝑠𝑒 𝑟𝑢𝑛 = 𝑦2−𝑦1 𝑥2−𝑥1 = −15−15 44−23 =−𝟏.𝟒𝟑 𝑦−𝑦1=𝑚(𝑥−𝑥1) (Point slope form) 𝑦=𝑚𝑥+(−𝑚∗𝑥1 +𝑦1) (Rearrange to y=mx+b) 𝑏=1.43∗23 +15=𝟒𝟕.𝟖𝟗 (Find expression for b)

Proportional Control Line Follower An example 𝑚 𝑏 𝑥 𝑚∗𝑥 𝑦=𝑚𝑥+𝑏 𝑥=𝑙𝑖𝑔ℎ𝑡 𝑠𝑒𝑛𝑠𝑜𝑟 𝑟𝑒𝑎𝑑𝑖𝑛𝑔 𝑦=𝑟𝑜𝑏𝑜𝑡 𝑠𝑡𝑒𝑒𝑟𝑖𝑛𝑔 𝑎𝑛𝑔𝑙𝑒

Creating a Custom My Block My Blocks allow you to group a number of blocks into a single block Let’s create P-Control Line Following block Step 1: Select the P-Control blocks Unconnected/broken data wires will be inputs

Creating a Custom My Block Step 2: Open Tools -> My Block Builder GUI

Creating a Custom My Block Step 3: Select Icons, and set up parameters Step 4: Name the My Block as PControlLineF

Using A Custom My Block Once the your my block is created, it will be placed in your My Block palette Now, we can reconstruct the line following using the My Block

RoboParade Program Concept To successfully complete the RoboParade, you need your robot to… Line Follow Stop safely when needed Display the average speed Perform float operations with other motors This can be achieve using parallel sequence beams

RoboParade Program Concept Line Following With Stop Float Motor Display Robot Speed

Little Robots, Big Missions Questions? robofest@LTU.edu