EV3 Workshop Oct 3, 2015 Instructor: Chris Cartwright Assistants: Chris Parker and Matthew Ryan Lawrence Technological University
Lego EV3 robot used - SP Right Motor: C Left Motor: B Touch Sensor EV3 Computer Sonar Sensor Left Motor: B Color Sensor
Remember the connections! Left Motor connects to B Right Motor connects to C Center Color sensor connects to port no. 1 Left Color sensor connects to port no. X Sonar sensor connects to port no. 3 Touch sensor connects to port no. 4 Sound sensor connects to port no. X X: not used in this workshop
EV3 Versions Used Examples are using EV3 software Version 1.1.0 EV3 brick Firmware version: 1.60 (V1.06E.bin) All example programs in paradeWorkshop2014.ev3 (project) Free (Home Edition) version – Google search “EV3 software download” http://www.lego.com/en-us/mindstorms/downloads/software/ddsoftwaredownload/download-software/ Also need to download Ultrasonic.ev3b and select Tools> Block Import
Go straight for 2 seconds using different power levels Mission 0: Go straight for 2 seconds using different power levels launch OR LEGO MINDSTORMS Education EV3 paradeWorkshop 2014.ev3
Go forward for 2 seconds with power level 40 % Green! 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 use the Move Steering Block.
Let’s test it Connect the EV3 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 EV3’s menu: Turn On > My Files > Software Files Then select your program and run it!
Distance traveled How many centimeters when 40% power used? How the robot is traveling when 80% power used? How to find out the current battery voltage level?
EV3 large servo motors: geared motor with built-in rotation sensor Rotation sensor gives “degrees” turned. (It can also give “rotations”) For example, if the value is 360, the motor turned one rotation.
Display the “rotations” when the bot goes forward for 2 seconds Mission 1: Display the “rotations” when the bot goes forward for 2 seconds
Display the “rotations” turned from going forward for 2 seconds Tip: After in “T” text mode, click here and select wire Program: DispRotations.ev3p
Math Review Number of rotations = degrees / 360 C = D * 3.14 Number of rotations = degrees / 360 Circumference (C) = diameter (D) * 3.14 Travel distance = number of rotations (N) * circumference of the wheel (C) Speed = distance / time
How to calculate the average speed of robot for that 2 seconds ? We can get number of rotations for 2 seconds by choosing “Measure – Rotations” If the circumference of the wheel is 17.6cm (5.6 x 3.14), what is the travel distance for 2 sec? Then what is the averaged speed of the robot for the 2 seconds? Note: RoboParade has min and max speed limits. 9 – 18 cm/sec 2) # rotation * circumference. 3) Speed = travel distance / 2
How to calculate average SPEED? If at 1pm your mom’s car is at mile marker 5,000 and at 3pm your mom’s car is at mile marker at 5,120, what is the average speed of your mom’s car? 𝑣= 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑡𝑖𝑚𝑒 120/2 = 60miles/hour distance Time 2 Time 1
Example: If the number of rotations = 2.8
Display the “speed” when the bot goes forward for 2 seconds Mission 2: Display the “speed” when the bot goes forward for 2 seconds
Display Speed for 2 Second Drive Check the port Demonstrate to create this program from scratch and ask them to do everything from scratch. Program: DispSpeed.ev3p
Ultrasonic Sensor Uses the same scientific principle as bats Can measure in centimeters or inches Large objects with hard surfaces return the best readings (a) About 20 degrees (b) About 60 cm (c) About 22 cm Data from www.ev-3.net/en/archives/844
How to get (read) sensor data When the robot is connected (USB or Bluetooth) to your computer: On the robot: Third tab –> Port View Test your Sonar Sensor and read data NOW! Tip: reconnect the cable, if it does not work
EV3 Flow Control (Orange) Wait: time, touch sensor, … Loop: endless, count, … Loop interrupt Decision making using switch
What does this program do? Let them just open “sonarTest.ev3” and test the program. Note: if not working, unplug and re-plug the connector Data driven Program: SonarTest.ev3p
EV3 Color Sensor Percent Mode: 5% = lowest dark 100% = very bright Reflected Light Mode: shines a red light; we are using this mode. The light can be turned off – detecting ambient light (surrounding light) – not used today The sensor may need to be Calibrated (see Bonus material)
Display EV3 Color Sensor value Program: DispLight.ev3p
Test & Read Your Color Sensor Data On the parade track record color sensor values On Black line: ____________ One the beige table: ___________ On the beige color masking tape: ___________
Zigzag Line following Idea Left side following Right side following
Line following using a Color Sensor Mission 3: Line following using a Color Sensor
Simple Line Following Algorithm Right side. Show the program and ask them to create Program: LineFlwZZ.ev3p Q: Right side or Left side following?
How and Where to start the robot? C On the line: OK
How and Where to start the robot? Right side of the line: OK B C
How and Where to start the robot? Lost… Left side of the line: NO! B C
Follow the Parade Route and stop when an object is sensed Mission 4: Follow the Parade Route and stop when an object is sensed
Line Following with STOP Repeat the following forever: If sonar sensor detects an object Stop!!!!! Otherwise Follow the black line
Line Following with STOP Program: paradeZZ.ev3p
Mission 5: Multiple parallel programs – RoboParade with Speed Display (every second)
RoboParade with Speed Display Program: paradeZZspd.ev3p
Parade Program Concept Concurrently Run 3 Parallel Programs 1) Repeat the following forever: If sonar sensor detects an object Stop!!!!! Otherwise Follow the black line 2) Display the average speed 3) Float operations with other motor(s)
RoboParade with all functions Mission 6: RoboParade with all functions
RoboParade with all functions Line Following With Stop Motor on Float Display Robot Speed Program: paradZZall.ev3p
Calibration of the Color Sensor Bonus Material 1: Calibration of the Color Sensor
EV3 Color Sensor Calibration Program: Calibrate.ev3p
Test & Read Your Color Sensor Data On the parade track record color sensor values On Black line: ____________ One the beige table: ___________ On the beige color masking tape: ___________ Run the calibration program on the parade track and repeat measurements One the beige color table: ______________
Little Robots, Big Missions Questions? robofest@LTU.edu