Hands-on Activity: Maze Challenge

Contributed by: GK-12 Program, Computational Neurobiology Center, College of Engineering, University of Missouri

Three images: A blindfolded girl stands with arms at her sides. A photograph above a garden walkway maze made of tall hedges. A screen capture shows a few LEGO programming icons.
How can we program a robot to travel a maze?
copyright
Copyright © (girl) 2005 Tracee L. Jackson, U.S. Marine Corps via Wikimedia Commons; (maze) 2005 Rurik Wikimedia Commons; (LEGO icons) authors http://commons.wikimedia.org/wiki/File:Blindfoldlowres.gif http://commons.wikimedia.org/wiki/File:Longleat_maze.jpg

Summary

As the first engineering design challenge of the unit, students are introduced to the logic for solving a maze. First they observe a blindfolded student volunteer being guided through a classroom maze by the simple verbal instructions of another student. In this demonstration, the blindfolded student represents a robot and the guiding student represents programming commands. Then student groups apply that logic to program LEGO® MINDSTORMS® EV3 robots to navigate through a maze, first with no sensors, and then with sensors. A PowerPoint® presentation, pre/post quizzes and a worksheet are provided.
This engineering curriculum meets Next Generation Science Standards (NGSS).

Engineering Connection

Programming a robot to navigate a maze is similar to real-world engineering design projects, such as controlling a Mars Rover to explore the planet surface. Engineers design robots to carry out tasks in locations that are dangerous for people, such as in ocean depths, volcanoes, factories and war zones, and to provide reconnaissance and aid in natural and human-made disasters.

Pre-Req Knowledge

Complete the previous units (1-4) of the series prior to this one, especially the Master Driver activity.

Learning Objectives

After this activity, students should be able to:

  • Write LEGO EV3 programs that use sensor data to make the EV3 motor move so that the robot can navigate a maze.
  • Use and iterate the steps of the engineering design process to create the logic for a LEGO EV3 program that has a LEGO taskbot navigate a maze.
  • Program and run the LEGO taskbot so that it navigates a maze, an example of the testing phase of the engineering design process.

More Curriculum Like This

How Do You Make a Program Wait?

Building on the programming basics learned so far in the unit, students next learn how to program using sensors rather than by specifying exact durations. Working with the LEGO® MINDSTORMS® EV3 robots and software, they learn about wait blocks and how to use them in conjunction with move blocks set ...

What Is a Program?

Using a few blindfolds and a simple taped floor maze exercise, students come to understand that computers rely completely upon instructions given in programs and thus programs must be comprehensive and thorough. Students create and test basic programs, first using just the LEGO intelligent brick, an...

Elementary Lesson
What Is a Computer Program?

Through four lesson and four activities, students are introduced to the logic behind programming. Starting with very basic commands, they develop programming skills while they create and test programs using LEGO® MINDSTORMS® robots. The unit is designed to be motivational for student learning, so th...

How Do You Make Loops and Switches?

Students learn how to program using loops and switches. Using the LEGO® MINDSTORMS® robots, sensors and software, student pairs perform three mini programming activities using loops and switches individually, and then combined.

Educational Standards

Each TeachEngineering lesson or activity is correlated to one or more K-12 science, technology, engineering or math (STEM) educational standards.

All 100,000+ K-12 STEM standards covered in TeachEngineering are collected, maintained and packaged by the Achievement Standards Network (ASN), a project of D2L (www.achievementstandards.org).

In the ASN, standards are hierarchically structured: first by source; e.g., by state; within source by type; e.g., science or mathematics; within type by subtype, then by grade, etc.

  • Define a simple design problem reflecting a need or a want that includes specified criteria for success and constraints on materials, time, or cost. (Grades 3 - 5) Details... View more aligned curriculum... Do you agree with this alignment?
  • Generate and compare multiple possible solutions to a problem based on how well each is likely to meet the criteria and constraints of the problem. (Grades 3 - 5) Details... View more aligned curriculum... Do you agree with this alignment?
  • Define the criteria and constraints of a design problem with sufficient precision to ensure a successful solution, taking into account relevant scientific principles and potential impacts on people and the natural environment that may limit possible solutions. (Grades 6 - 8) Details... View more aligned curriculum... Do you agree with this alignment?
  • Evaluate competing design solutions using a systematic process to determine how well they meet the criteria and constraints of the problem. (Grades 6 - 8) Details... View more aligned curriculum... Do you agree with this alignment?
  • Analyze data from tests to determine similarities and differences among several design solutions to identify the best characteristics of each that can be combined into a new solution to better meet the criteria for success. (Grades 6 - 8) Details... View more aligned curriculum... Do you agree with this alignment?
  • Develop a model to generate data for iterative testing and modification of a proposed object, tool, or process such that an optimal design can be achieved. (Grades 6 - 8) Details... View more aligned curriculum... Do you agree with this alignment?
  • Add, subtract, multiply, and divide decimals to hundredths, using concrete models or drawings and strategies based on place value, properties of operations, and/or the relationship between addition and subtraction; relate the strategy to a written method and explain the reasoning used. (Grade 5) Details... View more aligned curriculum... Do you agree with this alignment?
  • Students will develop an understanding of the characteristics and scope of technology. (Grades K - 12) Details... View more aligned curriculum... Do you agree with this alignment?
  • Students will develop an understanding of the relationships among technologies and the connections between technology and other fields of study. (Grades K - 12) Details... View more aligned curriculum... Do you agree with this alignment?
  • Students will develop an understanding of the attributes of design. (Grades K - 12) Details... View more aligned curriculum... Do you agree with this alignment?
  • Students will develop abilities to apply the design process. (Grades K - 12) Details... View more aligned curriculum... Do you agree with this alignment?
  • Designed objects are used to do things better or more easily and to do some things that could not otherwise be done at all (Grades K - 5) Details... View more aligned curriculum... Do you agree with this alignment?
Suggest an alignment not listed above

Materials List

Each group needs:

Note: This activity can also be conducted with the older (and no longer sold) LEGO MINDSTORMS NXT set instead of EV3; see below for those supplies:

  • LEGO MINDSTORMS NXT robot, such as the NXT Base Set
  • LEGO MINDSTORMS Education NXT Software 2.1

To share with the entire class:

  • meter/yardsticks or measuring tape for making the mazes
  • tape, such as duct tape or masking tape, for making the mazes
  • boxes, cartons and/or books, for making the mazes
  • blindfold
  • Maze Challenge Presentation, Microsoft® PowerPoint® file
  • computer and projector to show the presentation

Introduction/Motivation

A photograph shows a teacher and two students around a maze on the floor made of boxes and tape lines. They are using a laptop and LEGO robot.
copyright
Copyright © 2013 Computational Neurobiology Center, College of Engineering, University of Missouri

Today, we will learn how to program a robot to go through a maze. First, we will demonstrate the program logic by having one student guide a blindfolded student through a maze in our classroom, as if the blindfolded student was a robot. The guide is only permitted to provide simple verbal instructions. As you watch this demonstration, pay attention to the verbal commands that are given and how the student robot responds to each command. Are the commands helpful? Is the "commander" (or "programmer") correctly and efficiently guiding the student robot?

Then, apply what you learn from observing this exercise to come up with ideas on how to program your LEGO taskbot to navigate a maze, first with no sensors, and then with sensors.

Vocabulary/Definitions

design: Loosely defined, the art of creating something that does not exist.

engineering: The use of science and mathematics to solve problems to improve the world around us.

Procedure

Before the Activity

  • Gather materials and make copies of the Maze Challenge Pre-Quiz, Maze Challenge Worksheet and Maze Challenge Post-Quiz, one each per student. These items and their answers are also embedded in the presentation, so they can be presented to the class as a whole, if desired.
  • Assemble the LEGO taskbots using the core set materials and instructions at https://www.youtube.com/watch?v=Dhe2jXi3Fc4 or in the core set.
  • Prepare two mazes somewhere in the classroom. Create one maze for the student demonstration (Maze 1) and another for the LEGO taskbot challenge (Maze 2). Figure 1 shows suggested shapes and dimensions for the two mazes; they can be altered as necessary for the space available. Make Maze 1 in a room corner by placing tape on the floor and making the path approximately 3 feet wide. Maze 2 requires a 5 x 8-ft area; make its boundaries approximately 1 foot high.
    Line drawings show the shapes and dimensions of two mazes. Maze 1 is a u-shaped route (6 ft, turn left, 3 ft, turn left, 6 ft) in a room corner so two walls become part of the maze. Maze 2 is more complex with a 1.5-ft wide route that turns right-left-left-left-right and fits into a 5 x 8-ft area.
    Figure 1. Suggested mazes for the student demonstration (1) and taskbot challenge (2).
    copyright
    Copyright © 2013 Center for Computational Neurobiology, University of Missouri
  • Note that for the Day 2 maze challenge, students need to use the information they learned in the Master Driver activity, especially the distance traveled by the robot per rotation of the wheel. If this activity has not been completed or if students no longer have their results from this activity, or if the robot design (wheel size, etc.) has changed, have students complete the Master Driver activity prior to proceeding. If some students have done it while others have not, it may be a good idea for those who have done it to help the others complete it, so that they get experience being "teachers." In this activity, students will also apply what they learned about basic programming with the LEGO sensors from the Master Driver activity.
  • Use the Maze Challenge Presentation, a PowerPoint® file, to teach and conduct the activity. Set up a computer/projector to show the presentation to the class.
  • Arrange for enough computers so you have one for each student group. Make sure each computer has the LEGO software loaded.

With the Students: Day 1 Maze Challenge (slides 1-12)

  1. Administer the pre-quiz (also on slide 2 with answers on slide 3) and discuss the answers after students have filled out the sheets.
  2. Introduce the concept of design challenges using the provided examples (slide 4) and then explain students' engineering design challenge (slide 5): To build and program a robot to travel through a maze.
  3. Explain that with two student volunteers and a classroom demonstration you will help them understand two important ideas: how a robot follows instructions and the importance of sensors. The demo will help everyone understand the basic concept behind how to program (slide 6). Direct students' attention to Maze 1.
  4. (slide 7) Select two student volunteers. Assign one the role of "robot" and the other the role of "programmer." Blindfold the student "robot" and have him/her stand at the start of the maze with hands at his/her sides. Have the "programmer" give a series of commands to the "robot" that tell the "robot" how to complete the maze. Command examples might be "go forward two steps" or "turn right."
  5. (slide 8) Ask students to think about what they observed in the demonstration and discuss as a class.
  • Was the "programmer" successful in getting the blindfolded "robot" through the maze?
  • Did the "programmer" always tell the "robot" to go the correct number of steps?

As part of the discussion, mention that it is often easier for the "programmer" to give instructions if s/he can tell the "robot" to go forward until s/he senses something. By doing it that way, the "programmer" does not have to worry about telling the "robot" exactly how many steps to move.

  1. (slide 9) Choose two different student volunteers. Again, assign one as the "robot" and one as the "programmer." Blindfold the "robot." This time, permit the volunteer "robot" to stretch his/her hands out in front to sense when s/he is approaching a wall. Have another student give commands to instruct the "robot" to get through the maze. Now, commands such as "go forward until you hit a wall" are allowed.
  2. (slides 10-11) Ask students to think about what they observed in the demonstration and discuss as a class.
  • Was it easier to give instructions the first time or second time? Point to make: It is generally easier to tell a robot to go forward until it senses something (like a wall) than to tell it exactly how far to go before it turns. This approach also tends to be faster.
  • Did you notice that the "programmer" has to make sure to tell the "robot" every little thing? Make sure students understand the correlation between the preciseness and quality of the instructions given to the blindfolded student—the "program"—and the ability of the blindfolded student to complete the maze. Point out that the blindfolded student "robot" could not make his/her own judgments about where to go and if the programmer made a mistake, the maze would not be completed correctly. Likewise, the LEGO robot's computer (brick) must be given exactly the same precise and detailed information. It knows nothing and will do exactly what it is told to do. Any programming errors result in incorrect robot commands, and the fault is with the programmer, and not the robot!
  1. (slide 12) Recall with students what they learned from a previous activity, Master Driver, about the relationship between motor (or wheel) rotation and the corresponding distance the robot travels. When they program their robots to travel the maze without any sensors, they will need to indicate exactly how much distance to move. (If necessary, have students complete [or redo] the Master Driver activity before proceeding.)

With the Students: Day 2 Maze Challenge (slides 13-30)

  1. Introduce the two-part maze challenge using slide 13. The first challenge is to navigate the maze without any sensors, and the second one is to do it with sensors. Show students the already-prepared maze (diagram on slide 14) and answer any questions about exactly what is to be done.
  2. Divide the class into groups of three students each. Provide each group with a LEGO taskbot and a worksheet.
  3. Direct students to focus on challenge 1 (slide 15): To program the taskbot to travel Maze 2 without using sensors. Give groups about 20 minutes to program, test and revise until they are satisfied that their programs work well. Assemble the class at the maze for the challenge. One at a time, have each group send its programmed taskbot through the maze, while the class watches. For the teacher, the challenge 1 solution is on slides 19-23.
  4. Explain challenge 2 using slide 16: To program the taskbot to travel Maze 2 using three LEGO sensors (sound, touch, ultrasonic) each at least once. Again, give groups about 20 minutes to program, test and revise until they are satisfied that the programs work well. This task asks them to recall the programming they completed in a previous activity, Master Driver, as well as how to attach the sensors to the robots. Assemble the class at the maze for the challenge, with each group sending its taskbot through the maze one at a time, while the rest of the class watches. For the teacher, the challenge 2 solution is on slides 24-29.
  5. Lead a class discussion so students can share their observations, difficulties, questions and conclusions. See the Assessment section for suggested questions.
  6. Administer the post-quiz (also on slide 17 with answers on slide 18) and review the answers as a class. Slides 19-29 provide the answers to challenges 1 and 2. Slide 30 presents vocabulary words and definitions.

Attachments

Assessment

Pre-Activity Assessment

Pre-Quiz: Before starting the activity, administer the two-question Maze Challenge Pre-Quiz by handing out paper copies (also on slide 2). Students' answers reveal their base knowledge about design challenges and LEGO robot programming. The answers are provided on the Maze Challenge Pre-Quiz Answer Key (and slide 3).

Activity Embedded Assessment

Hands-On Maze Challenges: Working in groups, have students design the logic for the challenges 1 and 2 EV3 programs, first using taskbots without sensors and then using taskbots with sensors. Have groups assemble the programs, step by step, iterating as they go. The challenge 1 solution is provided on slides 19-23. Students meet this challenge if they are able to show their robots moving through the maze, even after a few iterations. At least once for each group, observe how students iterate their designs. Use the following rubric to assess the challenge 1 activity completed by each group (maximum 30 points). Use a similar rubric to assess challenge 2; its solution is provided on slides 24-29.

  1. Correct calibration for rotation of motor (wheel) vs. distance traveled by the robot. (10 points maximum)
  2. The computer program logic was developed sequentially. (10 points maximum)
  3. The group iterated well and corrected all problems. (10 points maximum)

Worksheet: As students work through the activity, have them document on the Maze Challenge Worksheet their logic for the challenges 1 and 2 programs. Observe students to make sure they are engaged and making progress testing, revising and troubleshooting their programs. Collect the worksheets at activity end and review their logic to gauge their depth of comprehension.

Post-Activity Assessment

Concluding Discussion: After challenges 1 and 2 are completed, lead a class discussion so students can share their observations, difficulties, questions and conclusions. Compare the two challenges: Which is more reliable as a way to navigate a maze? Which is fastest? Which steps of the engineering design process did you participate in? (Possible answers: All of them! Brainstorming solutions, picking the best solution, planning/designing, prototyping/testing, revising/improving/iterating/troubleshooting.) Use this opportunity to gauge student comprehension.

Post-Quiz: At activity end, administer the Maze Challenge Post-Quiz by handing out paper copies (also on slide 18). Review students' answers to individually assess their depth of understanding by their descriptions of problems encountered and resolutions achieved. Answers will vary; example answers are provided on the Maze Challenge Post-Quiz Answer Key (and slide 19).

Activity Scaling

  • For more advanced students, provide more explanatory material on the topics of sensors and transducers.

Additional Multimedia Support

EV3 robots and sensors: https://www.lego.com/en-us/mindstorms/products/mindstorms-ev3-31313

The U.S. Defense Advanced Research Projects Agency (DARPA) challenges teams from around the world to the DARPA Robotics Challenge Trials and serves as a baseline for the current state of robotics and its potential for future use in disaster response. Learn more about the teams and their robots and show students videos featuring the attempted tasks at http://www.theroboticschallenge.org/.

Contributors

Sachin Nair, Pranit Samarth, Satish S. Nair

Copyright

© 2014 by Regents of the University of Colorado; original © 2013 Curators of the University of Missouri

Supporting Program

GK-12 Program, Computational Neurobiology Center, College of Engineering, University of Missouri

Acknowledgements

This curriculum was developed under National Science Foundation GK-12 grant no. DGE 0440524. However, these contents do not necessarily represent the policies of the National Science Foundation, and you should not assume endorsement by the federal government.

Last modified: June 21, 2018

Comments