NAO Robot workshop for kids (english)
-
Upload
nicolas-rigaud -
Category
Education
-
view
811 -
download
2
Transcript of NAO Robot workshop for kids (english)
#NAOROBOT
Choregraphe (2.1.2)
It’s a graphical interface to program NAO(downloadable after creating an account on Community)
Main Plane
Simulator
Boxes
Dedicated LibraryFor this workshop, you’ll need to add a library.It’s called Library_Kids_NAOWorkshop.cbl
It contains 3 boxes: LookAround, RaiseArm, LowerHand
Click « open box library »and select the .cbl file
What’s a box?
A box contains some code executing a specific action It’s mainly Python code
Also, a box can be made of other boxes
A box can have different outputs
Input Output
Parameters
Edit the box: double clickStop box
Goal of the workshop
• Setup NAO
• Locate someone and walk to that person
• Ask for an handkerchief
• Grab it
• Ask where to drop it
• Go to this specific place and drop the handkerchief
Sounds easy, right?
Now let’s launch Choregraphe and start a new project!
Define language
Set language box
-> set parameters to english
-> connect to the beginning
Wait for me before starting!
Tactile Head box
-> connect to previous box
-> select one zone (output) that youwill touch to launch the behavior
(let’s take the first one) and connectthe output so as to stop the box when pressed
Let’s start!
Motor On/Off box
-> connect to previous box
-> set parameter to « on »
Stand Up box
-> connect to previous box
-> if box fails, connect the right output to end of the behavior
Is someone here?
Two things at the same time once NAO is standing:LookAround box-> connect to previous box
Face Detection box-> connect to previous box-> when it finds a face, it must stop itself and the LookAround box
OK, let me get closer to you!
Face Tracker box
-> connect to previous box (Face Detection)
-> edit parameters: mode must beset to « move »
-> when target is reached, the box stops itself
I have a question for you
Say box
-> connect to previous box
-> edit the box (double click)
1) make sure language is set to
english
2) add text « Hello! Can you please
give me a handkerchief? »
-> click on root to go back to main plane
Give it to me 1/2
RaiseArm box-> connect to previous box
Hands box-> connect to previous box-> edit parameters:
1) select left hand2) select « open »
Choice box-> connect to previous box-> edit the box
1) select « english »2) add text « can I close my hand? Yes or
no? »3) create a new output and connect it to
the « No » answer
Give it to me 2/2
If the answer is yes (mid output)
Hands box
-> edit parameters to close lefthand
If the answer is no (last output):
Wait box
-> connect to previous box
-> edit parameters and set timeout to 1s
-> connect the output to choice box to relaunch the process
What should I do with this?
Choice box
-> connect to previous box
-> edit the box
1) select « english »
2) add text « Thanks! Should I drop it in the trash or put it on the table? Tell me: trash or table? »
3) add choice « trash » & « table »
4) create an output for « table » and connect it correctly
Where’s the right place? 1/3
Let’s do the first option:
->Connect the first output of Choice box to the LookAround box
NAOMark box
-> connect to previous box (Choice)
Switch Case box
-> connect to previous box (NAOMark)
Where’s the right place? 2/3
Let’s do the first option:Switch Case box:-> enter value 85-> connect the first output back to NAOMark box to relaunch it-> connect the second output to stop the NAOMark box and to stop the LookAround box
Landmark Tracker box:-> connect to previous box-> edit parameters and set mode to « move »-> connect last output (target reached) to stop the box
Where’s the right place? 3/3
Let’s repeat this for the second option:
-> Add all the boxes and connectthem correctly
-> This time, NAO will be lookingfor NAOMark 63
Let me get rid of this
Let’s do the first option:
LowerHand box:
-> connect both landmark trackerbox « target reached » outputs to launch the box
Hands box:
-> connect to previous box
-> edit parameters to open lefthand
-> connect output to the end of the program
Bonus (after testing)
How can we enhanced the user experience?
- Get NAO to present what is going to happen at the beginning of the app
- Get NAO to sit after he’s completely finished
- What else would you add?