NAO
Programming a humanoid robot

www.devoxx4kids.com
Introducing NAO
• But I'll let him introduce himself!

www.devoxx4kids.com

2
Choregraphe
Software

• NAO Visual Programming

– Allows users of NAO to create and edit
simple movements and interactive
behaviors.

• Demonstration

www.devoxx4kids.com

3
NAO's Mission
1. Make NAO walk towards you and stop
in front of you.
2. NAO asks you to give him the ball and
asks you where to put the ball.
3. NAO looks around and finds the place
you identified.
4. NAO goes
ball down.
www.devoxx4kids.com

there, and places the
4
Preparation
•
•
•
•

Start Choregraphe
Create a new project
Load the Library: Devoxx4Kids.cbl
Place and configure boxes
– Set Speech Language
– Set Reco. Lang.
– Tactile Head

• Connect the boxes to the starting point.
www.devoxx4kids.com

5
Exercise 1
• Make NAO walk towards you
– Infrared Sensor (Eyes)
– Sonar
– Eye Color

1. Create a new box in the root plane
1. Change the Name: Walk to Person
2. Change the Image: move.png
3. Type: Flow Diagram
www.devoxx4kids.com

6
Exercise 1 (continued)
2. In the new box Walk to Person
1. Make NAO stand (Stand Up)
2. Walk Tracker
1.
2.

Green eyes when NAO finds you (Eye LEDs)
Red eyes when he doesn’t find you (Eye LEDs)

3. Use NAO’s sonar
1.
2.

Detect an obstacle (you)
Stop the Walk Tracker

3. Link the sensor on NAO’s head to the new
box
www.devoxx4kids.com

7
Exercise 2
• Ask for the ball
– Raise NAO's right arm and open his hand
– Make NAO speak
– Make NAO ask a question understand
• NAO asks a question with 2 possible answers

– Lower NAO's arm and close his hand

www.devoxx4kids.com

8
Exercise 2 (continued)
1. Create a new box in this plane
1. Change its name (up to you to choose)
2. Type: Flow Diagram

2. Add 2 outputs
1.
2.
3.
4.

Double-click on the new box
Click on the
(top right)
Name for output 1 : Chair
Name for output 2: Box

www.devoxx4kids.com

9
Exercise 2 (continued)
3. Change the color of the eyes
4. Raise NAO’s right hand (library)
1. Box : Raise Right Hand

5. Make NAO speak with the Say box
1. NAO must ask for the ball

www.devoxx4kids.com

10
Exercise 2 (continued)
6. NAO asks where he should place the ball
1.

Create a new box
• Type : Flow Diagram

2. Add a Choice box
• Edit the output of the box
– Rename the output answer into answer1
» Type : Number : 1
» Nature : Punctual
– Add a second output : answer2
» Type : Number : 1
» Nature : Punctual

• Double-click on the box to enter the question and the

answers

3. Make NAO repeat the answer you gave him
www.devoxx4kids.com

11
Exercise 2 (continued)
7. Make NAO lower his arm and close his hand
– Go back to the root plane.
– Add a Close Right Hand box
• Link both outputs to the box

www.devoxx4kids.com

12
Exercise 3
• NAO looks for the right place to drop
the ball
– Turns his head
– Looks for the right NAOMARK
– Says he found the right place
– Says he hasn’t found the right place

www.devoxx4kids.com

13
Exercise 3 (continued)
1. Create a new box in the main place
1. Change name : Research
2. Type: Flow Diagram

2. Add 1 output
1. Double-click on the new box
2. Click the
(top right corner)
3. Name for the output : Found

www.devoxx4kids.com

14
Exercise 3 (continued)
3. In the new box, add:
1.
2.
3.
4.
5.
6.
7.

A NAOMark box
A Center Head box
A Move Head Left box
A Move Head Right box
An IF box
Two Say boxes
Three Wait boxes (Change timeout to 4,000000)

www.devoxx4kids.com

15
Exercise 3 (continued)
4. Connect the starting input of Research box
to:
1. Center Head
2. NAOMark
3. A wait box

5. Make NAO’s head turn from left (Move Head
Left) to right (Move Head Right)
6. Connect the NAOMark to the IF box
1.

Configure the IF box :
1.
2.

Condition Operator : =
Value to compare : 68

www.devoxx4kids.com

16
Exercise 3 (continued)
7. Conect the output output_then of the IF box to

the Input :
1. onStop of boxes Wait, Move Head Left, Move
Head Right
2. onStart
of a Say box
1.
2.

Use Say box to say that NAO has found a box to drop
the ball
Don’t forget to make NAO say he hasn’t found any box
to drop the ball. It’s up to you to find out how to do
this!

8. Then get back to root plane and do the same thing
for the chair (copy/paste + modifications).
www.devoxx4kids.com

17
Exercise 4
• NAO goes to the required place to drop
the ball
– Walk to the box or the chair (NAOMARK)
– Foot sensors to avoid collision with the box
or chair
– Drop the ball

www.devoxx4kids.com

18
Exercise 4 (continued)
1. Create a new box in the root plane:
1. Edit name: Walk to NAOMark
2. Type: Flow Diagram

www.devoxx4kids.com

19
Exercise 4 (continued)
2. In the new box, add:
1. A Mark Walk Tracker box
2. A NAO facing Mark box
3. A Bumpers box
4. A Move To box
5. A Say box
6. 2 Wait boxes (Change timeout to 0.500000)
7. 2 Eye LEDs boxes
8. A Drop Ball Move Back and Sit box

www.devoxx4kids.com

20
Exercise 4 (continued)
3. Connect the starting point of Walk to NAOMark
box to the input of NAO facing Mark
4. Connect the output of NAO facing Mark to the
onStart input of:
1.

Bumpers :
1.
2.
3.

2.

NAO must walk 2 steps backward
Stop all other boxes
NAO must say he found the place "Im in!"

Mark Walk Tracker
1.

Eyes turn to blue if NAOMark is no longer detected
1.
2.
3.

2.

Output: onLost connected to Input onStop
NAO should take a step
NAO must say he has arrived "Im in"

Eyes turn to green if NAOMark is detected

www.devoxx4kids.com

21
Exercise 4 (continued)
5. In the root plane, add the Drop Ball Move Back and
Sit box and connect it to the Walk to NAOMark box

www.devoxx4kids.com

22

Devoxx4Kids NAO Workshop

  • 1.
    NAO Programming a humanoidrobot www.devoxx4kids.com
  • 2.
    Introducing NAO • ButI'll let him introduce himself! www.devoxx4kids.com 2
  • 3.
    Choregraphe Software • NAO VisualProgramming – Allows users of NAO to create and edit simple movements and interactive behaviors. • Demonstration www.devoxx4kids.com 3
  • 4.
    NAO's Mission 1. MakeNAO walk towards you and stop in front of you. 2. NAO asks you to give him the ball and asks you where to put the ball. 3. NAO looks around and finds the place you identified. 4. NAO goes ball down. www.devoxx4kids.com there, and places the 4
  • 5.
    Preparation • • • • Start Choregraphe Create anew project Load the Library: Devoxx4Kids.cbl Place and configure boxes – Set Speech Language – Set Reco. Lang. – Tactile Head • Connect the boxes to the starting point. www.devoxx4kids.com 5
  • 6.
    Exercise 1 • MakeNAO walk towards you – Infrared Sensor (Eyes) – Sonar – Eye Color 1. Create a new box in the root plane 1. Change the Name: Walk to Person 2. Change the Image: move.png 3. Type: Flow Diagram www.devoxx4kids.com 6
  • 7.
    Exercise 1 (continued) 2.In the new box Walk to Person 1. Make NAO stand (Stand Up) 2. Walk Tracker 1. 2. Green eyes when NAO finds you (Eye LEDs) Red eyes when he doesn’t find you (Eye LEDs) 3. Use NAO’s sonar 1. 2. Detect an obstacle (you) Stop the Walk Tracker 3. Link the sensor on NAO’s head to the new box www.devoxx4kids.com 7
  • 8.
    Exercise 2 • Askfor the ball – Raise NAO's right arm and open his hand – Make NAO speak – Make NAO ask a question understand • NAO asks a question with 2 possible answers – Lower NAO's arm and close his hand www.devoxx4kids.com 8
  • 9.
    Exercise 2 (continued) 1.Create a new box in this plane 1. Change its name (up to you to choose) 2. Type: Flow Diagram 2. Add 2 outputs 1. 2. 3. 4. Double-click on the new box Click on the (top right) Name for output 1 : Chair Name for output 2: Box www.devoxx4kids.com 9
  • 10.
    Exercise 2 (continued) 3.Change the color of the eyes 4. Raise NAO’s right hand (library) 1. Box : Raise Right Hand 5. Make NAO speak with the Say box 1. NAO must ask for the ball www.devoxx4kids.com 10
  • 11.
    Exercise 2 (continued) 6.NAO asks where he should place the ball 1. Create a new box • Type : Flow Diagram 2. Add a Choice box • Edit the output of the box – Rename the output answer into answer1 » Type : Number : 1 » Nature : Punctual – Add a second output : answer2 » Type : Number : 1 » Nature : Punctual • Double-click on the box to enter the question and the answers 3. Make NAO repeat the answer you gave him www.devoxx4kids.com 11
  • 12.
    Exercise 2 (continued) 7.Make NAO lower his arm and close his hand – Go back to the root plane. – Add a Close Right Hand box • Link both outputs to the box www.devoxx4kids.com 12
  • 13.
    Exercise 3 • NAOlooks for the right place to drop the ball – Turns his head – Looks for the right NAOMARK – Says he found the right place – Says he hasn’t found the right place www.devoxx4kids.com 13
  • 14.
    Exercise 3 (continued) 1.Create a new box in the main place 1. Change name : Research 2. Type: Flow Diagram 2. Add 1 output 1. Double-click on the new box 2. Click the (top right corner) 3. Name for the output : Found www.devoxx4kids.com 14
  • 15.
    Exercise 3 (continued) 3.In the new box, add: 1. 2. 3. 4. 5. 6. 7. A NAOMark box A Center Head box A Move Head Left box A Move Head Right box An IF box Two Say boxes Three Wait boxes (Change timeout to 4,000000) www.devoxx4kids.com 15
  • 16.
    Exercise 3 (continued) 4.Connect the starting input of Research box to: 1. Center Head 2. NAOMark 3. A wait box 5. Make NAO’s head turn from left (Move Head Left) to right (Move Head Right) 6. Connect the NAOMark to the IF box 1. Configure the IF box : 1. 2. Condition Operator : = Value to compare : 68 www.devoxx4kids.com 16
  • 17.
    Exercise 3 (continued) 7.Conect the output output_then of the IF box to the Input : 1. onStop of boxes Wait, Move Head Left, Move Head Right 2. onStart of a Say box 1. 2. Use Say box to say that NAO has found a box to drop the ball Don’t forget to make NAO say he hasn’t found any box to drop the ball. It’s up to you to find out how to do this! 8. Then get back to root plane and do the same thing for the chair (copy/paste + modifications). www.devoxx4kids.com 17
  • 18.
    Exercise 4 • NAOgoes to the required place to drop the ball – Walk to the box or the chair (NAOMARK) – Foot sensors to avoid collision with the box or chair – Drop the ball www.devoxx4kids.com 18
  • 19.
    Exercise 4 (continued) 1.Create a new box in the root plane: 1. Edit name: Walk to NAOMark 2. Type: Flow Diagram www.devoxx4kids.com 19
  • 20.
    Exercise 4 (continued) 2.In the new box, add: 1. A Mark Walk Tracker box 2. A NAO facing Mark box 3. A Bumpers box 4. A Move To box 5. A Say box 6. 2 Wait boxes (Change timeout to 0.500000) 7. 2 Eye LEDs boxes 8. A Drop Ball Move Back and Sit box www.devoxx4kids.com 20
  • 21.
    Exercise 4 (continued) 3.Connect the starting point of Walk to NAOMark box to the input of NAO facing Mark 4. Connect the output of NAO facing Mark to the onStart input of: 1. Bumpers : 1. 2. 3. 2. NAO must walk 2 steps backward Stop all other boxes NAO must say he found the place "Im in!" Mark Walk Tracker 1. Eyes turn to blue if NAOMark is no longer detected 1. 2. 3. 2. Output: onLost connected to Input onStop NAO should take a step NAO must say he has arrived "Im in" Eyes turn to green if NAOMark is detected www.devoxx4kids.com 21
  • 22.
    Exercise 4 (continued) 5.In the root plane, add the Drop Ball Move Back and Sit box and connect it to the Walk to NAOMark box www.devoxx4kids.com 22

Editor's Notes

  • #3 Play on NAO the presentation.crgChoregraphe project, make sure the translation in your language is present.