Categories
Ev3 Robots Learning Tools Lesson Programming SuperTopic Update

Advanced Ev3 Robotics Lesson For Superstars – Problem Solving

advanced ev3 robotics lesson

 

My first year teaching STEM was relatively simple from a curriculum design perspective. I knew that grades 5 & 6 would be robotics, and 7 & 8 would be 3D printing (Grade 4 Was a mystery, but I knew I’d figure it out eventually). As none of my students had previous exposure to Robots or 3D printing I could just give my grades 5 & 6 the same lesson, and give my grades 7 & 8 the same lesson. After they had the basics, I would go advanced the next year. The problem was that though I found some basic Ev3 lessons, there didn’t seem to be an Advanced Ev3 Robotics Lesson to look at anywhere.

Not to be slowed down by the fact that no one seemed to have done this before, I decided to go with a series of broad based challenges. Luckily I found the fantastic Dr. E’s Mindstorm Challenges web site to steer me in the right direction. After about 12 iterations, the Advanced Ev3 Robotics Lesson you are about to discover was born. If you came here looking for more basic Ev3 lessons, check here & here.

Materials I use

  • A Core Lego Ev3 for Education kit for every 2-4 students.
  • An Expansion Lego Ev3 for Education kit for every 2-4 students.
  • Some type of cellular phone, or tablet for every 2-4 students.
  • 1 Laptop running Lego Mindstorms Ev3 software for each team.
  • Chromebooks for every 1-2 students.
  • Sumo ring.
  • Access to google classroom for all students (hereafter referred to as the classroom).
  • At least 1 extra Ev3 brick for every other team. For instance if you have four teams, you will want to have a minimum of 2 spare bricks. Ideally though, you will have a spare brick for each team.

 

Advanced Ev3 Robotics Lesson Overview

What follows is a lesson designed to be given over the course of 10 weeks to students in grade 6. These students have already had 10 weeks of basic Ev3 robotics in grade 5, but may not have had that lesson in a year or more. My first challenge here is to refresh my students on the basics. I do this by assigning the same challenge they had as a final for their previous course (Robot Sumo). I add the twist that they must design their own robot. In the previous challenge all of the robots were the same.

The greater lesson here is colored by the fact that my grade 6 students do an Egg Drop Challenge. The design challenge for my class focuses on the Engineering Concept of a fair test. Typically with egg drop challenges some neutral adult actually drops each design off of some high structure (like a roof). Part of the lesson is a discussion about what makes a fair test, and how to develop one.

Invariably we come to the idea that only if all of the egg containers are dropped in exactly the same manner is the test fair. If you refer to my previous post you will note that one of our Big Ideas in computing is that computers are good a repetition & precision. It is a really good day when one of my Sixth Graders points this out unprompted. The design challenge that will take up the majority of the quarter will be to develop a robotic device that will drop the egg container in the exact same manner every time. The device will start out simple, but will become more complex with each iteration.

Note:

This lesson assumes both you, and your students have a high level of comfort with Lego Mindstorms Ev3. Basic concepts are covered in posts here & here. In addition, you & your students should also be comfortable with control structures such as loops, waits, and switches. A high level understanding of Ev3 Sensor blocks, bluetooth operations, and math operations is also necessary for you as the instructor.

Skills Refresher Robot Sumo

For the skills refresher I give the students the following specifications regarding their Sumo Fighting robot.

  • 2 Large Motors are required for movement.
  • 1 Color Sensor is required to stay inside of the ring.
  • At least 1 arm is required that will try to flip your opponent.
  • Any arm is controlled by the Ultrasonic Sensor.

 

Students are asked to research at least 2 web sites that have information on how to build Ev3 robots. Once they have done the research most teams seem to have an idea about how to start. If a given team seems stumped I have them refer to their classmates posts in the classroom. If they are still stumped I demonstrate a couple of ways to attach large motors to Ev3 bricks as this seems to be the barrier for most students that keeps them from beginning to build.

Once they have constructed their robots we walk through a basic program with two parallel loops. One loop has the robot drive up to a black line, back up, turn, and move forward. The second loop triggers the robotic arm when an enemy robot comes within range. However, I don’t necessarily give students these programs. Instead we talk through psudocode for each loop, and I show them how to run parallel loops.

Advanced Ev3 Robotics Lesson Expansion

Once the building starts I bring up two additional Engineering & Computer Science concepts that I teach in my program. The first is documentation, and the second is collaboration. For documentation I am specifically referring to work in progress photos. I managed to get my hands on 5 Android Tablets from a project I worked on with Tufts University (similar to these), which I have my students use as digital engineering notebooks. They are asked to take pictures of their builds in progress, and post them to the classroom along with a description of their picture. I sometimes even ask them to take pictures of each step of a build, and post them. I also ask them to take photographs of their screens when they are writing their programs, and make sure each block of code is commented using the comment feature in the Ev3 software.

For collaboration I have students comment on at least two of their classmates posts in the classroom per week. This seems like a small thing, but what actually happens is that student become used to this, and begin working together. They will even use their classmates work as a resource when a particular aspect of a challenge has them stumped.

Note:

You will need to teach your students what you would like in terms of both Work In Progress (WIP) photos, and comments. These are both new skills to most students, and need to be taught continuously.

Design Challenge Sequence

The main idea with this series of challenges is to create a solution, and improve it in a specific way with each iteration. When students run into programming concepts they are unfamiliar with, encourage them to try and figure it out independently. The idea is that they find their own solution either by asking a classmate or finding an answer through internet research. As a last resort you can use guided self discovery, but don’t give them answers.

Iterations 1 & 2

The first project in this series is to have students design and program a device that will drop a box (I use a tissue box) when the program is run. I don’t give my students any hardware requirements for this solution, just the main Ev3 brick. This initial solution will work, is uncomplicated, and typically just involves running a motor (or motors) just long enough to “drop” the box. The device is then reset manually for the next drop. In most cases no new programming concepts are required, but more complex solutions may require the use of the unregulated motor block. The second iteration should have the device reset itself when run.

Iteration 3

In this iteration, students will likely run into some new concepts in programming. They should improve their device so that it uses the touch sensor or multiple touch sensors. They can use either one or two touch sensors. The program runs continuously, and is controlled by the touch sensor(s). By some combination of press and release the device will activate & reset.

Iteration 4

In this iteration students use the brick buttons to control the devices activate & reset functions. It is certainly okay to swap iteration 3 & 4, but I do it in this order to build towards the next iteration. It so happens that there is a fantastic video on youtube that will assist your students in the next iteration, but uses brick buttons.

Iteration 5

Here is where the difficulty of this set of challenges ramps up significantly. As they are asked to do something they have never done before in the Ev3 environment. Up until now all of the iterations are just variations on concepts they would have mastered the previous year. Now however, students are asked to connect two Ev3 bricks via bluetooth. One brick will act as the controller for the second brick. Students will set up a bluetooth connection between 2 bricks, they will use the messaging feature to make their device activate & reset using the brick buttons. Here & Here are some excellent tutorials that will help your students solve this problem. I make them search for the solution, but you may want to give it to them.

Iterations 6, 7, & 8

For the remaining iterations of the Egg Drop project students will change the manner of control among their connected bricks. First they will use a single touch sensor on their control brick, then they will use two touch sensors, and finally they will use a large motor. All of the information they need to accomplish these tasks can be found on the internet, or inferred from previous work on this problem set. As mentioned above, most of these concepts are pretty high level.

Final Assessment (WIP)

Ideally my whole class would get through the first 8 iterations of this problem set, and would have the opportunity to perform the assessment I am about to describe.  Unfortunately, it is a lot to expect in a 10 week program. In my classroom, none of my students has gotten further than Iteration  8 above. I hope to one day get here, I hope you can as well. In any case, always plan for more than you think you can accomplish.

The assessment here is to have your students design both a robotic car, and a remote controller for that car. They are then asked to perform a series of runs through a maze, and are competing for the best time. You could add complication by having items for them to pick up, and drop off if you so choose. If you wanted to get really challenging you could set up a system whereby students use some manner of video feed to see their robot while controlling it.

What I am aiming for with this assessment if for student to realize that controller design is as important, or even more important than the design of the car. I will happily do another, more robust post on just this assessment if I can manage to get my students far enough to do it several times. If you manage to get your students to this point please let me know how it works out.

I hope this post (long as it is) has been helpful to your teaching practice. If it has, please feel free to share it with whomever you’d like. If you’d like to be updated when new posts come out by email, please sign up for our mailing list. Thanks for your time.

Categories
Ev3 Robots Learning Tools Lesson Resources SuperTopic Update

Ev3 Robotics Lesson for Superstars: Lesson 1

ev3 robotics lesson

I came to STEM education by way of working in an after school program where I taught an Ev3 Robotics Lesson to students in grades 4-8. At the time, I was beginning my career in education, working on an MA in English, and hadn’t programmed a computer since college in the late 1990’s. The after school program director handed me an Ev3 education kit, and had me learn how to use it over Christmas break. I had a little more than a week (crammed full of holiday stuff) to not only learn an Ev3 Robotics Lesson myself, but to also create a lesson to teach twelve students. This series of posts is designed to help you avoid the brain damage I suffered at my own hands by giving you a good place to start, and some resources for further exploration.

First, it’s important to note that I am writing this with the assumption that you already know how to program in the Ev3 language, or are at least familiar with blockly. If neither of these things are true, DON’T PANIC help is here. Still with me? Good. If you have absolutely no computer programming experience go to Code.org, and run through their hour of code. After running through the exercises you will know significantly more than your students do. If you have some programming experience, things are easier. You can get familiar with the Ev3 programming environment by going to the Carnegie Mellon Robotics Academy web site, and running yourself through their free intro to programming with Ev3 Robotics Lesson. That lesson in particular is so good, I will be referring back to it periodically throughout my Ev3 posts.

Notes:

It’s important to note that this will be the first of many posts about my Ev3 Curriculum. If I tried to write out the entire curriculum here it would be a novel length post. This is the first part of the greater unit. As the first lesson in a large series I will cover the materials, what to teach, and how to teach the first lesson. I will also outline the standards applicable to the lesson in this post specifically. As I post each subsequent lesson, I will add the standards appropriate to that lesson at the end of the article.

If you’ve already read my Intro to Rocketry lesson post you will know this already, but in case you haven’t (yet). I do lesson plans a bit differently than you may be used to. I write out the plan in a manner that is meaningful to me as a teacher. The first thing I typically need to know is what materials I need, followed by what to teach, followed by how to teach it, and finally the applicable standards. Here we go!

Ev3 Robotics Lesson Materials

  • 1 LEGO MINDSTORMS Education EV3 Core Set (5003400) for every 2-4 students.
  • 1 Laptop or Desktop Computer for each kit (Chromebooks do not work well).
  • Paper, Pencils
  • A safe area to test robots – I built a 4 foot by 4 foot table top from some 2×4’s and plywood, then I painted it all white, and made a square sumo ring out of black gorilla tape. If there appears to be interest in one I can make an instructable, but its super simple to build.  I also have large shop tables in my classroom.

 

What to Teach

  • General Knowledge

    • First you need to go over the basic truths of computing: For this I work some “Big Ideas” into my lessons, many of which can be found from ISTE here.
    • Next you need to discus basic truths of computer programming: Again, I’m not going to reinvent the wheel here. I use these “Big Ideas” to teach them. Essentially, you are trying to get to the following concepts:
      • Computers do exactly what you tell them too.
      • Computers need incredibly specific instructions in order to operate.
      • Computer programs execute commands in sequence.
      • Computers & Computer Programs encompass much more than games.
      • Computers are capable to incredible precision & repetition.
      • Problems of any type are best solved by breaking them down into smaller pieces.
  • Ev3 Robotics Lesson Specific Information

    • Movemant
      • Forward & Backward
      • How far
      • Turning
    • Loops
      • Count
      • Infinity
    • Sensors & Arm Control
      • Touch
      • Color
      • Ultrasonic
    • Logic
      • Wait
      • Switch

 

The above is typically all I have time for in a given section of my Ev3 Robotics Lesson basics class. Now that we have our tools in place, and know what we intend to teach it’s time to get into how to teach it. The actual Robot I use for my lessons is the standard Edubot to get the build you can follow the link, or find instructions in the Ev3 for education software. There are also other platforms out there for this lesson. My favorite is RileyRover, designed by Damien Key for use with his book which I review as part of my Top 5 STEM teaching books post.

How to teach the basic Ev3 Robotics Lesson

General knowledge:

There are three main ways I teach this portion of my lesson depending on the grade level, and capability of my students. This first way is to simply work these topics into my discussions with the kids about each challenge I assign them. This is the most common way I get this information across to my students. Essentially, their engagement skyrockets the moment they start working with the robots so I try to make that happen as soon as possible. The other ways I have done it in the past is to assign the general info as  a research project, or use guided class discussion.

Ev3 Robotics Lesson Specific Content:

This information is delivered through modeling & problem solving challenges. As you will see below, I go over how to do a given programming task then assign a challenge similar to what I went over, but with additional complications. My goal is to have the kids get a very basic understanding from me before learning experimentally in their groups. What follows will give you how I teach the content. If you don’t know how to solve these problems, and are uncomfortable with not knowing the answers take the time to go through the full Carnegie Mellon curriculum yourself.

Before moving on to the programming challenges below, make certain all of the robots are properly constructed, and that your students can do the following with minimal guidance:

  • Turn the robot on.
  • Turn the Robot off.
  • Select a program (I use the Demo program built into the Ev3 brick)
  • Run a program.

 

Movement Challenge:

movetankblockresize1-20percent

Prior to assigning the below challenge, I walk my students through the various parts of the Move Tank Block (shown above). They are given a worksheet with a picture of the move tank block, and we walk through the various parts of the block talking about the manner of movement (rotations, seconds, degrees, on, off), the speed/direction of movement (power settings for each motor, and what positive & negative numbers do), and the amount of movement in a guided mini discussion. They go back to their computers, and I walk them through writing a program that makes the robot move forward 4 rotations. Students then download, and run the program. Finally I present them with the challenge:

Ev3 Robotics Lesson Challenge 1: How Far (2-4 Class Periods)
  • Students will write a computer program that moves the Edubot forward 3 rotations, then moves backward 3 rotations.
    • Students will run the program 3 times, and write down the distance the robot travels in inches.
  • Next, students will change the manner of movement in their program to seconds.
    • Students will run the program 3 times, and write down the distance the robot travels in inches.
  • The class then gathers, and goes over the recorded data together finding the mean, median, mode, and range of the numbers they collected. They may also be asked to convert these numbers to Metric depending on your math lesson.
  • Once everyone agrees on what the average distance of all of the tests was, they are asked to construct a mathematical model illustrating how far Edubot will go in 1 rotation, 1 second, 0.5 rotations, and 0.5 seconds (they may not use the robot to figure this out).
  • Next, ask your students to prove their model on their robots by posing time & distance questions. You can give them as many or as few time & distance questions as you want.
  • Finally, ask your students to reflect on how the power setting would effect distance if rotations, or seconds are the manner of movement.

 

Final Notes On How To Teach This Lesson:

This lesson is designed to introduce students to the Ev3 environment, and programming in general. It has been written with grade 5 students in mind. The best places to expand this lesson are in the areas of math, and technology. One expansion I have done is data operations in a spreadsheet program. This expands both the math & technology aspects of this lesson. Expanding the math into more advanced concepts such as circumference of a circle is also an option. I do this by having my students take radius measurements of the wheels and apply the circumference of a circle equation.

You may have noticed that there really isn’t much science in this lesson. The lack of science content here is because this lesson is designed to be a part of a greater lesson about planet science. In my classroom we talk a lot about the Mars Rover programs. Throughout my robotics curriculum we apply what we are doing to the science performed by the Rovers. I have also considered making parallels between Ev3 programming and electricity, but I haven’t implemented it yet.

Standards:

Technology:

The main technology standards here involve the use, and exposure to robotics. Students are also learning some computer science, and transportation technology in addition to the ISTE standards above.

NGSS Science/Engineering:

The science standards here will depend greatly on the science content you present alongside the lesson. My lesson focuses loosely on the Space Systems standard, but your doesn’t need to. Regardless of weather you decide to make this part of a science lesson or not, you are certainly giving the students an engineering performance task.

Common Core Math:

 

If you found this lesson helpful, and want to see more of the same please sign up for my feed below. Thanks for stopping by!