pptx - Robofest

```EV3 Software
EV3 Robot
Workshop 2015
Instructor:
Assistants:
Lawrence Technological University
Course Overview
• 2015 Robofest competition Robobowl
• SPbot introduction
• Using the SPbot to solve the Robobowl
challenge
2
2015 Robofest competition
• Video overview
http://youtu.be/LJ0afkDSuZA
–
–
–
–
–
–
–
Measure the height of the rectangular shape
Compute location of pin 3 & 4
Follow the edge of the table
Find the bowl zone
Find a set of pins
Bowl a tennis ball
Return home
3
2015 Robofest competition
• Please note that bowling the tennis balls are
outside the scope of this workshop
4
LEGO EV3 robot used – SPbot
Right Motor: C
Touch Sensor
EV3 Computer
Sonar Sensor
Left Motor: B
Color Sensor
Remember the connections!
• Left Motor connects to B
• Right Motor connects to C
– If your motors are upside down forward will
be backwards in your program
• Color sensor connects to port no. 1
• Touch sensor connects to port no. 2
• Sonar sensor connects to port no. 4
Please note that the retail version of EV3 uses an infrared sensor, not a sonar sensor.
6
EV3 Versions Used
• Examples use EV3 Educational Version 1.0.1
or EV3 Home Edition 1.1.0
• EV3 Firmware version: V1.06H
• PowerPoint and all example programs are
available at robofest.net under Tech
Resources:
• EV3 RoboFest Workshop Sp2015.pptx
• RoboBowlWorkshop.ev3
7
• LEGO offers a home edition of the EV3
software
• It is free to download and use, but has some
limitations
– No experiments
– Limited built-in sensor support
• You can download all sensor blocks
8
Move forward and stop when the
rectangular shape is reached
9
Task 0: Example Solutions
• Using wait block
• Using loop block
10
Measure the height of the rectangle
Watch the YouTube videos at:
http://youtu.be/iDSttcFmYqI (MeasureDistance)
http://youtu.be/4e8T0bbh7bM (MeasureRectangle)
11
Measure Distances
• Determine how far the robot travels while
moving forward
Compute distance traveled
by measuring the number
of rotations of the wheel
Distance
12
Measure Distances
• Use the wheel geometry
PI = 3.14
How can use this
information?
13
Measure Distances
• For each rotation of the wheel, the robot will
travel (Wheel Diameter) x (PI)
• Distance = (Wheel Diameter) x (PI) x (# Rotations)
• Distance = (55 mm) x (PI) x (# Rotations)
• Distance = 172.8 x (# Rotations)
Program: MeasureDistance.ev3
14
Measure The Rectangle Height
• One method could be:
– Go forward until the black rectangle is found
– Reset motor rotation sensor
– Go until the end of the rectangle is found
– Read the motor rotations
– Compute the distance traveled
15
Measure The Rectangle Height
• Example of measuring the rectangle height
Program: MeasureRectangle.ev3
16
Compute the location of pin 3 & 4
17
EV3 Mathematical Operations
• We can use math blocks to compute the
location of pins 3 & 4
• For example, assume
mm
• How can we compute this using our robot?
18
EV3 Mathematical Operations
• We can use simple math blocks
– Assumes that x = 200mm
Program: SampleMath1.ev3
19
EV3 Mathematical Operations
• Here is another approach using advanced
blocks
Program: SampleMath2.ev3
20
Follow the edge of the table
Watch the YouTube videos at:
http://youtu.be/3pRbiHxd-Gc (LineFollowZZ)
21
Left Edge
• Use the zig-zag method
to follow the edge of the
table
• Edge following is also
referred to as line
following
• We need to determine
when the robot is on or
off the table
Right Edge
Follow The Edge Of The Table
Table
22
Follow The Edge Of The Table
• Get color sensor values to determine when the robot
is on or off the table. We will use the color sensor in
Reflective Light Intensity mode.
– Off table = ______
– On table = ______
– On foil = ______
Color
Sensor
23
Follow The Edge Of The Table
• Light sensor settings example
– Off table = 10
– On table = 40
– Median threshold = (10+40)/2 = 25
• Two cases
– Light sensor reading > 25. On table.
– Light sensor reading < 25. Off table.
24
Simple Line Following Algorithm
Program: LineFollowZZ.ev3
25
How to improve our line following
algorithm
• Zig-zag method can cause a bumpy response
• To improve the response, you can use a 3-level
line follower (concept shown below)
Off Table
On Table
Off Table
On Table
26
Find the bowl zone
Watch the YouTube videos at:
http://youtu.be/zUnIvl3klLA (LineCrossing)
27
Find The Bowl Zone
• Assuming that the robot is in the no-bowl
zone, we must enter the bowl zone in order to
bowl a tennis ball to knock down pins
• One method for finding the bowl zone is reach
and cross the black line that separates the
bowl zone and no bowl zone
• This concept is called line crossing
28
Line Crossing
• How can we use our robot to detect lines?
– Travel straight and look….
Crossing
Lines
• Off Line = waiting to cross line
• On Line = reached line
• Off Line = crossed line
29
Line Crossing
• Sample approach
Program: LineCrossing.ev3
30
Find a set of pins
Watch the YouTube videos at:
http://youtu.be/SAI0tS1K4_s (TravelDistance)
http://youtu.be/bABKx8o9QJQ (SpinSearch)
31
Find A Set Of Pins
• Couple methods
– Line follow for a given distance
– Spin until the pins are detected with the sonar
sensor
32
Line Follow For A Given Distance
• First, we need to know how far to go
– Let’s assume that the robot must travel 30 cm
– How many wheel rotations is 30 cm?
• Distance = (Wheel Diameter) x (PI) x (# Rotations)
• Solve for # Rotations….
• # Rotations = Distance / [ (Wheel Diameter) x (PI) ]
• For our robot…
• # Rotations = 30 cm / [ (5.5 cm) x (PI) ] = 1.74 rotations
33
Follow A Line A Given Distance
• Example solution
Program: TravelDistance.ev3
34
Spin And Search
• Here we are going to have the robot spin until
it “sees” the pins with the sonar sensor
Program: SpinSearch.ev3
35
Bowl a tennis ball
36
Bowl A Tennis Ball
• Again, this task is outside the scope of this
workshop
• However, your robot should be in position to
deliver a tennis ball if the previous tasks were
completed successfully
37
Return home
Watch the YouTube videos at:
http://youtu.be/dEioHkb4Y98 (FindHome)
38
Return Home
• One method to have the robot return home is
to line follow until home base is detected
• Using the same principal as line detection, we
can determine the threshold for detecting
home base
– On table / off home base = 40
– On home base = 60
– Median threshold = (40+60)/2 = 50
39
Return Home
• Two cases
– Light sensor reading > 50. On home base.
– Light sensor reading < 50. Off home base.
Program: FindHome.ev3
40
Putting It All Together
• In this course we learned how to
– Measure the height of the rectangular shape
– Compute location of pin 3 & 4
– Follow the edge of the table
– Find the bowl zone
– Find a set of pins
– Return home
41
Little Robots, Big Missions
Questions?
[email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */
42
```