a1tD0000003mDgQIAU

Course: Game Design
1: I know that

  • 6-8 grade
  • Intermediate

Lesson Description:

In this lesson, the students will learn how to make NAO robot recognize an image.


 

Standards Covered

CCSS.ELA-LITERACY.L.8.4.A

Use context (e.g., the overall meaning of a sentence or paragraph; a word's position or function in a sentence) as a clue to the meaning of a word or phrase.

CCSS.ELA-LITERACY.L.8.6

Acquire and use accurately grade-appropriate general academic and domain-specific words and phrases; gather vocabulary knowledge when considering a word or phrase important to comprehension or expression.

CCSS.ELA-LITERACY.RI.6.4

Determine the meaning of words and phrases as they are used in a text, including figurative, connotative, and technical meanings.

CCSS.ELA-LITERACY.RI.6.7

Integrate information presented in different media or formats (e.g., visually, quantitatively) as well as in words to develop a coherent understanding of a topic or issue.

CCSS.ELA-LITERACY.RST.6-8.3

Follow precisely a multistep procedure when carrying out experiments, taking measurements, or performing technical tasks.

CCSS.ELA-LITERACY.RST.6-8.4

Determine the meaning of symbols, key terms, and other domain-specific words and phrases as they are used in a specific scientific or technical context relevant to grades 6-8 texts and topics.

CCSS.ELA-LITERACY.RST.6-8.5

Analyze the structure an author uses to organize a text, including how the major sections contribute to the whole and to an understanding of the topic.

CCSS.ELA-LITERACY.RST.6-8.6

Analyze the author's purpose in providing an explanation, describing a procedure, or discussing an experiment in a text.

CCSS.ELA-LITERACY.SL.6.1.B

Follow rules for collegial discussions, set specific goals and deadlines, and define individual roles as needed.

CCSS.ELA-LITERACY.SL.6.1.C

Pose and respond to specific questions with elaboration and detail by making comments that contribute to the topic, text, or issue under discussion.

CCSS.ELA-LITERACY.SL.6.1.D

Review the key ideas expressed and demonstrate understanding of multiple perspectives through reflection and paraphrasing.

CCSS.ELA-LITERACY.SL.6.5

Include multimedia components (e.g., graphics, images, music, sound) and visual displays in presentations to clarify information.

CCSS.ELA-LITERACY.W.6.4

Produce clear and coherent writing in which the development, organization, and style are appropriate to task, purpose, and audience. (Grade-specific expectations for writing types are defined in standards 1-3 above.)

CCSS.ELA-LITERACY.W.6.6

Use technology, including the Internet, to produce and publish writing as well as to interact and collaborate with others; demonstrate sufficient command of keyboarding skills to type a minimum of three pages in a single sitting.

CCSS.MATH.PRACTICE.MP1

Make sense of problems and persevere in solving them.

CCSS.MATH.PRACTICE.MP2

Reason abstractly and quantitatively.

CCSS.MATH.PRACTICE.MP7

Look for and make use of structure.

CCSS.MATH.PRACTICE.MP8

Look for and express regularity in repeated reasoning.

image description

Lesson Modules


Teaching Tips:



ROBOTMASTER PROTOCOL


As most classes are organized around a group of students and shared robots, getting participants used to sharing, and using a methodology for taking and giving over control of the robot is often useful for class management. Moreover, at any given point in time, only one computer can control to the robot. Failing to disconnect gracefully, will cause the robot to reject all other computer requests to
connect.

We suggest taking turns with an answer and response methodology like is used in extreme sports and the military, so robot handover is treated as a team activity.

The "Robot Master" Handover:
The person who holds the little robot is the Robot Master and the only one who is allowed to connect to the NAO robot.

  • When you want to connect, you ask the Robot Master, “Can I connect to the robot?”
  • The current Robot Master will disconnect from the NAO in Choregraphe
  • The current Robot Master, will say, “I am disconnected!” and hand over the little robot.
  • The receiver is the new Robot Master!
  • Only after the little robot is received, can the Robot Master connect to the NAO robot with Choregraphe

While a student is connected to a NAO robot, no one else will be able to connect, as Choregraphe will return an error if a connection is attempted. You can use stuffed puppets like below. 









 

ROOM SETUP




The Evening Before the Class:

  • Charge all the laptops
  • Make a backup of the thumb-drive with the students' stories.
  • Charge the robots.


Classroom Preparation:

  • Set up three island tables in the classroom, around each table, place 5 chairs for the students.
  • Place a NAO on each table. (From the second lesson, try to keep the same robot for the same
    group of students. They become attached to their robot based on the name...)
  • Plug in the NAO chargers, and use duct tape to secure them to the floor/table/wall.
  • Plug in the router to the power, there’s no need for an internet connection. Make sure it’s in the
    same room with the robots and the laptops.
  • Place five computers on each table around the robot. There’s no need to plug in the laptops, the
    battery life should be good enough for more than 4 hours.
  • Locate the Teacher’s computer, (a sticker on the lid says “teacher”) and keep it on your table, next
    to the projector/TV/big screen.
  • Place a robot-master puppet on each table.
  • Locate the thumb drive, and keep it next to your computer. At the beginning of the lesson, each
    student will copy his story to his/her computer.


Resources:




 

LESSON OUTLINE



Overview
In this module, each lesson plan is the same, but the content changes. For this reason the only lesson plan you are provided is this one. There are reference sheets that are specific to each lesson that you should review, and work through, before each class.

There are five two-hour lessons in this module. These two-hour lessons are broken down into two one-hour sections. In each lesson, students will deconstruct an existing game on the robot (first hour) and use the new knowledge from deconstructing an existing game to create their own game (second hour). These stages are called Decontextualize and Recontextualize respectively.

Prior to running this course, you should make sure that the Module 3 vision recognition library is loaded on each robot. This library is what allows NAO to recognize the cards used in each lesson. To do this, follow the instructions here.

Aside: When referring to the robot this curriculum alternates between he and she. We encourage you to do the same in your classroom. This promotes gender equality in the classroom and helps encourage all students to participate.


Before Class
Read the reference page for the lesson and review this lesson plan. Put the example game program on each computer. The folders are titled Lesson_1_Example_Game for lesson 1, etc. Choose one student from each group to be the Investigation Robot Master. Each student should get a chance to play this role throughout the class. Connect this computer to the robot to run the example game. This way the students can explore what the game does.

Decontextualize
As students work in their student book, walk around the classroom and ask guiding questions to get students to engage more deeply with the content. Be sure to have students read instructions out loud.

  • Demonstrates the example game for that lesson.
    (5 minutes)
  • Have a student volunteer read through the questions on the Play The Game! page out loud to the class. Discuss the meaning of each question to ensure students understand what they are being asked. (5 minutes)
  • Have students play the game and answer the questions. They should work as a group to do this investigation. Only the Investigation Robot Master should control the robot. (10 minutes)
  • Discuss student answers as a class. (5 minutes)
  • Have students then write the full user-side walk through of the game on the Explain The Game!
    page. (5 minutes)
  • Have a few students volunteer to read their write-ups to the class. It might be wise to pre-select students as they are writing by reading a little over their shoulders and selecting write-ups that will spur discussion. (5 minutes)
  • Students open the game file on their own computers and look through the code while answering questions on the Read The Code!
    page. (10 minutes)
  • In each lesson, there is one Black Box, a Choregraphe box that has an unknown function. These boxes are indicated by a "?" icon. Students must identify these boxes and list the inputs, outputs and deduce the function of this box in the
    What Do These Do? page. This is the central focus of learning in each lesson. Students must reason through the program to figure out what exactly these boxes do. They MUST understand the box before moving on to the next stage. (10 minutes)
  • Discuss functions as a class. (5 minutes)


Recontextualize

  • Students brainstorm alternative uses of the new Black Box and write/draw their ideas on the
    Brainstorm! page. Give students
    2-3 minutes to brainstorm silently. The
    have them discuss their ideas with a partner for
    2-3 minutes and finally discuss ideas as a group
    for 5 minutes. This discussion method is called Think-Pair-Share.
  • Have the students pick one of their ideas and construct a full plan on the Build It Out!
    page. (10 minutes)
  • Have the students carry out the plan by programming it on their own computers. They should test whatever they can on the virtual robot before running it on the real robot. (20 minutes)
  • When students finish making their program, have them complete the Reflect and Revise!
    page. They should consistently reflect on their work and revise until they have a program that they are happy with (or they run out of time). (15 minutes)
  • Have the students complete the Today I Learned... page. (5 minutes)


After Class
Save the students' work on the flash drive.
Pack up everything (Check the Packing Instructions )




 

 
 

ROBOTMASTER PROTOCOL

As most of the time, you will be working in a group, sharing robots and using a methodology for taking and giving over control of the robot is often useful. Moreover, at any given point in time, only one computer can control the robot. Failing to disconnect gracefully, will cause the robot to reject all other computer requests to connect.


The "Robot Master" Handover:
The person who holds the little robot is the Robot Master and the only one who is allowed to connect to the NAO robot.
  • When you want to connect, you ask the Robot Master, “Can I connect to the robot?”
  • The current Robot Master will disconnect from the NAO in Choregraphe
  • The current Robot Master, will say, “I am disconnected!” and hand over the little robot.
  • The receiver is the new Robot Master!
  • Only after the little robot is received, can the Robot Master connect to the NAO robot with Choregraphe
While a student is connected to a NAO robot, no one else will be able to connect, as Choregraphe will return an error if a connection is attempted.
 



 

 
LESSON OVERVIEW
 
In this module, each lesson plan is the same, but the content changes. There are reference sheets that are specific to each lesson that you should review, and work through, after each class.

 

Teaching Tips:



VISION RECOGNITION
 
A Word About NSO's Vision Recognition
This curriculum relies heavily on NAO’s vision recognition engine. To use vision recognition you must first make a database of images to recognize (we have done this for you with the cards). When you use the Vision Reco. box in choregraphe it takes 30 seconds or so to load the database. The robot will not do anything else during this time.

Some modifications have been made to this process for this particular curriculum. First, a vision recognition database has already been created for the cards.
No additional databases are necessary to implement this curriculum, though you can learn how to create one. Additionally, the Vision Reco. box has been modified to wait 5 seconds between recognitions. This modification
was made to make the games run more smoothly. You can modify this wait time using the process shown below.

Loading the Database
To load the Module 3 Vision recognition database onto your robot, follow steps 1-3 on Room Setup page. Then,
navigate to module3.vrd file. Select, then load the database onto the robot. Repeat for all robots.

Modifying the Wait Time
This process refers to the modified box available in the new Module 3 box library. If this library is not already loaded on your Choregraphe, you can add it by going to Edit --> Preferences, pressing the plus sign next to the User’s Box Libraries drop down menu and navigating to the appropriate file module3-1.cbl. Press OK in the Preference pop-up box and a new Module 3 tab should appear in your box library.




Creating Your Own Vision Database
Let me reiterate, you DO NOT need to create your own vision recognition database to run this curriculum. This section is here merely to provide guidance for those curious about how it is done, or if you want to add cards and objects of your own.

First we will show how to “learn” an object, then how to load a database onto the robot, then how to save that database and finally we will discuss which objects and images are good candidates for the robot to learn.

1. Connect to a real robot.
2. From the view dropdown menu, select Video Monitor.


3. You should see a live stream from the robot’s front camera. Additionally you should see the following menu bar:


4. The menu bar options are play/pause, Learn, Import Vision Database, Export Current Database, New Database and Send Current Database To Robot.

5. To learn a new object, place the object in front of the robot so you can see it in the video monitor. Press the learn button and wait for Choregraphe to take the picture. When you have the picture, click around the object you want to learn.


6. When you are done, the object should be outlined and everything outside the object should turn red.


7. An Object Tags pop-up box should appear automatically. This is where you type the name of the object. Be sure to note if you capitalize anything. To be safe, all words in this curriculum have been stored lowercase.


8. Continue learning objects until you have everything you want in the database. To push the database onto the robot, press the button.

To save the database on your computer, press the  button.
To load a previously saved database, press the  button.








 
PROJECT CONTENT

What is Project Content?
Another new attribute to this curriculum is using the project content view. This allows your students to have only one Choregraphe folder for the entire course, rather than a new folder for each lesson.

How to Use the Project Content Palette
  • From the menu bar go to View --> Project Content. The following palette should appear:

  • By default there is one behavior in your project. You can add a new one by pressing the plus button in the project content palette and entering a name. We recommend using a name without spaces.
  • Once you have more than one behavior, you can switch between the two by double clicking the
    behavior.xar file within each behavior folder (highlighted below).


Your students should make a new behavior for each lesson rather than creating a new choregraphe file/folder for each lesson. This will help them keep track of their work. Additionally the final lesson will not work unless students have done this.


TOOLTIPS
 
One useful feature of Choregraphe are the tooltips. If you hover over a box, input or output port a box will pop up to show you

  1. The type of object
  2. The name of the object
  3. The type of the input (ports only)
  4. The tooltip associated with the object.

Tooltips are useful for figuring out the black boxes and reminding yourself of what a box does.



VISION RECOGNITION
 

A Word About NSO's Vision Recognition
This curriculum relies heavily on NAO’s vision recognition engine. To use vision recognition your teacher first made a database of images to recognize. When you use the Vision Reco. box in choregraphe it takes 30 seconds or so to load the database. The robot will not do anything else during this time.

Modifying the Wait Time
This process refers to the modified box available in the new Module 3 box library. If this library is not already loaded on your Choregraphe, you can add it by going to Edit --> Preferences, pressing the plus sign next to the User’s Box Libraries drop down menu and navigating to the appropriate file module3-1.cbl. Press OK in the Preference pop-up box and a new Module 3 tab should appear in your box librar.




 

PROJECT CONTENT


What is Project Content?
Another new attribute to this curriculum is using the project content view. This allows you to have only one Choregraphe folder for the entire course, rather than a new folder for each lesson.

How to Use the Project Content Palette

  • From the menu bar go to View --> Project Content. The following palette should appear:

  • By default there is one behavior in your project. You can add a new one by pressing the plus button in the project content palette and entering a name. We recommend using a name without spaces.
  • Once you have more than one behavior, you can switch between the two by double clicking the
    behavior.xar file within each behavior folder (highlighted below).


You should make a new behavior for each lesson rather than creating a new choregraphe file/folder for each lesson. This will help you keep track of your work. Additionally the final lesson will not work unless your have done this.


TOOLTIPS
 

One useful feature of Choregraphe are the tooltips. If you hover over a box, input or output port a box will pop up to show you

  1. The type of object
  2. The name of the object
  3. The type of the input (ports only)
  4. The tooltip associated with the object.

Tooltips are useful for figuring out the black boxes and reminding yourself of what a box does.



Teaching Tips:

 

Introducing the Lesson (2 minutes)
This is the first lesson in the module! So when you introduce the lesson, remember to introduce the course. This course is all about programming human-robot interaction through games. The interaction will primarily be through vision recognition. This first lesson focuses on programming association between the cards the robot recognizes and information about those cards. 

Introducing the Game (3 minutes)
This game is a study helper! The robot defines the different quadrilaterals that you show her. Watch and see how it works. 
Demonstrates the example game for that lesson.

Play the Game! (20 minutes)
Have a student volunteer read through the questions on the Play The Game! page out loud to the class. Discuss the meaning of each question to ensure students understand what they are being asked.

Have students play the game and answer the questions. They should work as a group to do this investigation. Only the Investigation Robot Master should control the robot.

Discuss student answers as a class.

Explain the Game! (10 minutes)
Have students write a full user-side walk through of the game on the Explain The Game! page.

Have a few students volunteer to read their write-ups to the class. It might be wise to pre-select students as they are writing by reading a little over their shoulders and selecting write-ups that will spur discussion.


 
Leading the Discussion - Day 1
 
In general, students should be the main contributors to the discussion. As the teacher, you should ask questions to facilitate discussion and guide the discussion in the correct direction. Sample questions are provided below.

There are some concepts in this lesson, however, that students will struggle with and may need extra guidance to understand fully. In particular, we anticipate students having difficulty understanding what the Load Vision Database box does. Without this box, the vision database would be loaded when the black box is signaled. This would stall the game and make it less fun to play. It may be worth while showing the students what happens if you remove this box from the program.

Additionally, students may not have seen the Multi Edit box before. This box is useful because it acts as a lot of text edit boxes, just all put into one. If the fifth input port is signaled, the fifth line of text in the box is sent through the box output port.
 


Questions to Prompt Student Learning - Day 1
  • Break it down! What happens if the Tactile Head box is signaled? 
  • What does the blue color mean? 
  • What information is passed through the blue thread? 
  • Which cards work with this program?
  • Could we show the robot a dinosaur card? What would happen if we did?
  • How do you stop the program once it is running? 
  • Where in the program does it tell the robot to do that?
  • Is there any other way to stop the program?
  • What happens if you double click the Black Box? 
  • Have you tried hovering over the boxes, input ports or output ports to read the tooltips? 
  • Why is the Black Box signaled at the same time as the wait and introduction thread?


 


Introduction
This course is all about programming human-robot interaction through games. The interaction will primarily be through vision recognition. This first lesson focuses on programming association between the cards the robot recognizes and information about those cards.





PLAY THE GAME!

Read the questions on this page.

Play with the robot while it is running the example program (Flash Cards). As you interact with the robot, answer the questions below. Use complete sentences.



What does the robot say or ask?


{{questio:2



How did the robot react to your response?




What responses did you see other students give?


EXPLAIN THE GAME!


Write a description of the game in the space below. Describe everything you saw Nao do.
Use complete sentences.


First the robot...


Then...



Teaching Tips:



READ THE CODE!


Open the file FlashCards.pml. Read through the program and detail the function of each branch after the Wake Up box.



{{question:1}}

{{question:2}}

{{question:3}}

{{question:4}}






 

WHAT DO THESE DO?



Open the file FlashCards.pml. Read through the program. Look at the program and identify the ? box. For each input/output port write its 

  1. Name
  2. Function (Read tooltips by hovering mouse over port)



{{question:5}}
 



READ THE CODE!


Open the file FlashCards.pml. Read through the program and detail the function of each branch after the Wake Up box.



Question 1: Box 1 does...

Question 2: Box 2 does...

Question 3: Box 3 does...

Question 4: Box 4 does...



-- next pane--


 

WHAT DO THESE DO?



Open the file FlashCards.pml. Read through the program. Look at the program and identify the ? box. For each input/output port write its 

  1. Name
  2. Function (Read tooltips by hovering mouse over port)



Question 9: Describe what the box does.
 


Teaching Tips:

Brainstorm (10 minutes)
Students brainstorm alternative uses of the new Black Box and write/draw their ideas on the Brainstorm! page. Give students 2-3 minutes to brainstorm silently. The have them discuss their ideas with a partner for 2-3 minutes and finally discuss ideas as a group for 5 minutes. This discussion method is called Think-Pair-Share.

Build it out (30 minutes)
Have the students pick one of their ideas and construct a full plan on the Build It Out! page.

Have the students carry out the plan by programming it on their own computers. They should test whatever they can on the virtual robot before running it on the real robot. 


Leading the Discussion
In general, students should be the main contributors to discussion. As the teacher, you should ask questions to facilitate discussion and guide the discussion in the correct direction. Sample questions are provided below.

There are some concepts in this lesson, however, that students will struggle with and may need extra guidance to understand fully. In particular, we anticipate students having difficulty understanding what the Load Vision Database box does. Without this box, the vision database would be loaded when the black box is signaled. This would stall the game and make it less fun to play. It may be worth while showing the students what happens if you remove this box from the program.

Additionally, students may not have seen the Multi Edit box before. This box is useful because it acts as a lot of text edit boxes, just all put into one. If the fifth input port is signaled, the fifth line of text in the box is sent through the box output port.

Additionally, during the brainstorm session, students will come up with ideas that they cannot yet implement. Their ideas may even be beyond the scope of this course. We recommend letting students’ imaginations run wild during brainstorming, then, before they start fleshing out their ideas, have them choose a portion of their idea that they can implement. In future lessons, they can build on these projects if they so choose. Help them understand what is feasible and what is not. The memory game included as a demo is not feasible at this point.


Questions to Prompt Student Learning (Day 2)

  • What do you want to happen first in your game? Then what? 
  • What cards are you going to use in your game? 
  • What do you want the robot to say when she recognizes this card? 
  • Are you planning any custom movements, sounds or LEDs?

 

BRAINSTORM!


The Black Box in this program is a vision recognition box. In the example program, when NAO saw a quadrilateral card, she listed some facts of that shape.

In what other programs could a vision recognition box be used? List as many ideas as you can think of! Write your ideas in the idea clouds below. Your ideas can be words, sentences or drawings. Just make sure you can explain them!





 

BUILD IT OUT!



Choose one of your ideas from brainstorm and plan your program here.


The main outline of my program:


First my robot will say...




Then my robot will do...


Use a piece of paper to write the cards that you will use and the reaction of the robot, like the image below.



Teaching Tips:

Reflect and Revise (15 minutes)
When students finish making their program, have them complete the Reflect and Revise! page. They should consistently reflect on their work and revise until they have a program that they are happy with (or they run out of time).

Today I learned... (5 minutes)
Have the students complete the Today I Learned... page.


Leading the Discussion

In general, students should be the main contributors to the discussion. As the teacher, you should ask questions to facilitate discussion and guide the discussion in the correct direction. Sample questions are provided below.

There are some concepts in this lesson, however, that students will struggle with and may need extra guidance to understand fully. In particular, we anticipate students having difficulty understanding what the Load Vision Database box does. Without this box, the vision database would be loaded when the black box is signaled. This would stall the game and make it less fun to play. It may be worth while showing the students what happens if you remove this box from the program.

Additionally, students may not have seen the Multi Edit box before. This box is useful because it acts as a lot of text edit boxes, just all put into one. If the fifth input port is signaled, the fifth line of text in the box is sent through the box output port.





Questions to Prompt Student Learning - Day 1
  • Break it down! What happens if the Tactile Head box is signaled?
  • What does the blue color mean?
  • What information is passed through the blue thread?
  • Which cards work with this program?
  • Could we show the robot a dinosaur card? What would happen if we did?
  • How do you stop the program once it is running?
  • Where in the program does it tell the robot to do that?
  • Is there any other way to stop the program?
  • What happens if you double click the Black Box?
  • Have you tried hovering over the boxes, input ports or output ports to read the tooltips?
  • Why is the Black Box signaled at the same time as the wait and introduction thread?



AFTER CLASS
  • Save the students’ work on the flash drive.
  • Pack up everything (Check the packing instruction).

DO, REFLECT & REVISE!


Build your program in Choregraphe. When you test it, record what happens here.

Reflect on what went right and what didn't go as planned.


Revise your program. Plan what you need to change to make it better.



TODAY I LEARNED...

Answer the questions below.

What is the vision recognition box and what does it do?


In the end, what did your program do?


If you could change one more thing about your program, what would it be?


AT THE END OF THE CLASS
  • Save your work on the flash drive from your teacher.
  • Help your teacher pack up everything with an extreme care when handling robots, computers, and routers.