Generation Robots Nao Presenter User manual

Nao Presenter
User Guide
Nao Presenter - V2.1.7

Contents
1 Nao Presenter 2
1.1 Generaldescription ............................... 2
1.2 Technical description of the NAO humanoid robot . . . . . . . . . . . . . . . 2
1.3 Requirements................................... 3
1.4 Accessing the robot parameters . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 General flow of the behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Automatic repositioning of the robot . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Pausing and stopping presentations . . . . . . . . . . . . . . . . . . . . . . 4
1.8 Sound volume management . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Using the program 4
2.1 StartingNAO ................................... 4
2.2 Starting the program on the PC . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Stoppingtheprogram .............................. 5
2.4 Configurationfile ................................. 5
2.5 Autonomous life configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6 Defaultpictures.................................. 7
3 Creating a new presentation 7
3.1 Architecturefile.................................. 7
3.1.1 Background pictures . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.2 Introduction................................ 8
3.1.3 Presentations............................... 8
3.2 Presentationfolder................................ 8
3.2.1 Main presentation file . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Descriptionfile .................................. 9
3.3.1 Initialization................................ 10
3.3.2 Moving .................................. 10
3.3.3 Changingslides ............................. 10
3.3.4 Pronouncingtext............................. 11
3.3.5 Playing sound on the robot . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.6 Delaysinastep ............................. 11
3.3.7 Triggering Powerpoint animations . . . . . . . . . . . . . . . . . . . . 11
3.3.8 Wait for slide change . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.9 Obtain user input through voice . . . . . . . . . . . . . . . . . . . . . 12
3.3.10 Conditional execution . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.11 Stopping the presentation . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.12 Jumping to a specific step . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.13 Playing sounds and videos on the computer . . . . . . . . . . . . . . 13
3.4 Thereplacementfile ............................... 13
4 Presentation development 13
4.1 Testingtool .................................... 13
4.2 Deploying sound files to Nao . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5 Troubleshooting 14
5.1 Nao does not do anything . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2 My presentation does not appear . . . . . . . . . . . . . . . . . . . . . . . . 14
5.3 Sounds are not played by the robot . . . . . . . . . . . . . . . . . . . . . . . 14
5.4 NAO does not pronounce all my text . . . . . . . . . . . . . . . . . . . . . . 15
5.5 Itstilldoesnotwork ............................... 15
A List of available movements 16
1 Nao Presenter- V2.1.7

1 Nao Presenter
1.1 General description
This behavior has been designed by G´
en´
eration Robots Lab’. The behavior targets pro-
fessionals that want to have a NAO humanoid robot as a public interface for their clients.
NAO Presenter uses a NAO humanoid robot, a screen and a PC. Based on this setup,
the NAO robots performs interactive talks where the robot acts as a speaker with a Power
Point displayed on the screen. The interesting feature of the behavior is that the speech
and the movements of the robot are synchronized with what is displayed on the screen.
The user provides the content of the talk and the various images. As this guide explains,
this is fairly easy to update existing talks or to create new one.
1.2 Technical description of the NAO humanoid robot
Figure 1: Technical description of the NAO robot
The NAO humanoid robot has the following sensors:
•3 touch sensors on his head
•Infrared sensors in his eyes
•2 cameras (one on the forehead and the other in the mouth)
•2 cameras (one on the forehead and the other in the mouth)
•An inertial measurement unit in the chest of the robot that gives the 3D pose of the
robot (the robot knows his pose and can detect tilts)
•2 bumpers on the feet
2 Nao Presenter- V2.1.7

•2 capacitive sensors under the feets (the robot knows if his feet touch the ground)
•4 microphones in the head to hear sounds
1.3 Requirements
•1 NAO robot, with software 2.1.3 or higher
•1 PC (a laptop is fine) under Windows 7 or higher with a valid license of Microsoft
PowerPoint 2010 or higher
•An optional external screen (recommended for a greater impact).
•Connection between the PC and NAO can use Wifi or Ethernet, but an Ethernet
cable is needed at least on the first use of the robot to configure the Wifi. It is
strongly recommended to use the Wifi (avoiding an extra cable for the robot) and to
provide a strong Wifi access point close to NAO and the computer
•2 power plugs (NAO, computer) are needed. A third one if you use an external
screen.
Installing the software is done with the assistance of Generation Robots.
1.4 Accessing the robot parameters
If you enter the IP address of the robot in a browser of a PC that is connected to the same
network as the robot, then the webpage of the robot is displayed. This webpage allows
the user to change several parameters such as the parameters of the Wifi connection, the
sound level, the name of the robot, the language. This must be done at least the first time
you start NAO to configure its Wifi connection.
1.5 General flow of the behavior
When the behavior is launched (see section 2.2), the screen displays an image and NAO
is running the automous life. NAO does random movements and tells some words to gain
the attention of the public. When the robot senses that its motors are hot, it reduces its
movements.
When the robot detects someone, NAO knows it and the autonomous life is put in standby.
A new welcome image is displayed on the screen. NAO now looks at the person directly
in the eyes (when there are several persons, NAO looks at them one after another). In
order to prevent starting a talk when this is not needed, NAO waits for 5 seconds that the
person stay in the field. After 5 seconds, the introductory talk is launched.
This introductory talk explains to the public how to interact with NAO and the various fea-
tures available. The introductory talk can be updated like the other talks.
When the introductory talk is over, the screen displays 6 images corresponding to 6 talks.
The user can also use the touch screen or voice recognition to trigger one of the presen-
tations.
3 Nao Presenter- V2.1.7

Figure 2: Example of the selection screen
What is a talk? A talk is composed of the following elements: a Power Point file, a text
said by the robot, the list of movements of the robot and eventually sounds and videos.
To know more, see section 3.
1.6 Automatic repositioning of the robot
Regularly during the behavior, NAO stands up, sit down, rotates and walks a little. Nao is
able to correct for small drifts, but not for important ones. It is therefore important to make
it start in a properly centered position.
1.7 Pausing and stopping presentations
During a presentation (except for the introduction), a person can pause the talk by touch-
ing the middle head tactile sensor of Nao. NAO emits a sound to indicate the pause state
and finishes the current step. Nao then stands waiting and breathing. The talk start again
when the person pushes again on the middle head tactile sensor. A sound indicates the
end of the pause mode.
It is possible to terminate the presentation by pressing two times on the middle head
tactile sensor. NAO emits a specific sound to indicate the end of the presentation.
1.8 Sound volume management
Sound volume can be adjusted at anytime using the front/rear head tactile sensors to
increase/decrease the volume respectively.
2 Using the program
2.1 Starting NAO
We assumes here that the Wifi parameters have been correctly setup last time you used
NAO, so there is no need to change the parameters.
•Connect the power cord to NAO, make him sit or crouch at the center position.
•Press chest button, the robot will start booting.
•At the end of the booting process you should hear ‘okgnaknouk’, the NAO Presenter
behavior starts automatically.
4 Nao Presenter- V2.1.7

•When the behavior is fully running, Nao will go to crouch position and say ”Hello” in
the default language.
WARNING: The behavior starts with autonomous life. The robot does random move-
ments. Make sure that the robot is on a solid and flat surface and that there is no risk to
fall down. The warranty of the robot is valid if the robot falls down from its height but not if
it falls down from a table.
2.2 Starting the program on the PC
•Start the PC.
•Connect the Ethernet cable if not using Wifi.
•Make sure the robot is ready (see previous section).
•If you need to change the configuration, refer to section 2.4.
•Double click on the NaoPresenterMaster icon. The program begins and Nao starts
doing the autonomous life.
2.3 Stopping the program
To stop the program, press the Alt and Tab keys on the PC until the console of the pro-
gram appears (the console is the black small windows). Close this console. After a few
seconds, the autonomous life ends.
Now, you can switch off NAO by pressing the chest button untils he says ”nocnoc”. You
can switch off the PC.
2.4 Configuration file
The configuration file name configuration.xml and is located in the main folder next to the
executable files. t contains the main parameters of the behavior. This file is read by the
program when starting. The first customization of this file is done with you by Generation
Robots. However it is possible that you need to update this file. Here is the default content
of this file:
<? xml version =" 1.0 " ? >
< con figu ratio n >
< NaoIP > 192.168.0.133 </ NaoIP >
< M ainPa th > Demo</ Main Path >
< D efa ultL ang uage > French</ Defa ultLa ngu age >
<doReposition>1</doReposition>
<UseVoiceReco>0</UseVoiceReco>
<NaoqiLogging>0</NaoqiLogging>
< Vo iceS peed > 100 </ Vo iceS peed >
< S tartW it hM idd le Ta cti le >1 </ St ar tWi th Mi ddl eT ac til e >
<StartWithPeopleDetection>0</StartWithPeopleDetection>
< W ai tA fterPre se nt at io nF inish ed >0 </ Wa it After Pr es en ta ti onFin is he d >
<StartWithPeriodicTime>0</StartWithPeriodicTime>
</ con fig uration >
The parameters are:
•NaoIP : his parameter contains either the name of the robot (ex: nao.local) or its IP
address (ex: 192.168.0.133). We recommend to use the name of the robot because
the IP address can change after a deconnection. However, in case of a problem
with the software “Bonjour” the IP address is easier to use. The IP address of the
robot can be obtained by pressing quickly on the button that is on the chest of the
robot. Default value : nao.local
5 Nao Presenter- V2.1.7

•MainPath : this is the absolute path to the directory that contains the talks (see
“create a new talk” section). You have to update this value if you change the location
of the directory named NAODirectory or if you rename this directory.
•DefaultLanguage: the default language used by the robot when starting (”French”,
”English”, ...). If the language is changed by the user, the robot will automatically
switch back to the default language if nobody is around.
•doReposition: switches On or Off (On if value equals 1, Off if 0) the repositioning
mechanism of the robot.
•UseVoiceReco: switches On or Off (On if value equals 1, Off if 0) voice recognition
for selecting presentations.
•NaoqiLogging: switches On or Off (On if value equals 1, Off if 0) logging of infor-
mation from the robot. To be used mostly for debugging purposes or when trou-
bleshooting issues, deactivate otherwise as it makes quite intensive usage.
•VoiceSpeed: Allows to modify the pronunciation speed of the robot. The value is
expressed as a percentage of the standard speed. Default is 100%, allowed values
go from 50% (slower) to 400% (faster).
•StartWithMiddleTactile: Allows you to specify if the presentation in NaoPresen-
terLight can start with the touch sensor in the middle of Nao’s head or not. The
value is 0 for no, 1 for yes.
•StartWithPeopleDetection: Allows you to specify if the presentation in NaoPresen-
terLight can start with face detection or not. The value is 0 for no, 1 for yes. It is
possible to combine face detection with touch sensor.
•WaitAfterPresentationFinished: If face detection is enabled, it is important to put
a value in this field. This is the time that Nao will wait after a presentation (in Nao-
PresenterLight) before redoing face detection. The value is in ms, so 10 seconds
corresponds to 10,000.
•StartWithPeriodicTime: Specify if the presentation in NaoPresenterLight can start
every X seconds. The value is 0 if you do not want to use it, otherwise it’s the time
in ms. 10,000 will mean that Nao starts the presentation every 10 seconds.
WARNING: In all the XML files, do not put space before and after the values. The name
of your files (XML, pictures, sounds, ...) must not contain spaces in their names.
2.5 Autonomous life configuration
The file passiveSentence.xml, contains the sentences said by NAO during the autonomous
life. You can change these sentences by modifying this XML file. This is what it can look
like:
< sen te nce >
< lan gu age c ategor y ="French">
<say >N’ayez pas peur ,approc hez vous ,je ne mord pas .Je n ’ai pas ´e
t´e programm´e pour ¸c a! < / say >
< say > Eff ec tue r l ’accueil ici ,c’est un ho nneur pour un petit robot
comme moi ! < / sa y >
<say >J’aime ce boulot de pr ´e sentateur , ¸ca change de la danse . </ say >
</ language >
< lan gu age c ategor y ="English">
<say > Hey,come closer .Don ’t worry I don ’t bite ,I haven ’t been
pr ogra mm ed for it . </ say >
<say >I feel honored to welcome people like you . </ say >
<say >I like this pre senter job ,it ch anges from danses . </ say >
</ language >
< sen te nce >
During autonomous life, NAO will say randomly one of these sentences every 10 seconds
if there are no people detected.
6 Nao Presenter- V2.1.7

2.6 Default pictures
In the main program directory, you will also find images that are used in the program:
•default.png is the image displayed when the program is not able to locate an image
(default image of a talk).
•In the folder curseur, you have some images like curseurDefault.png,curseur1.png,
curseur2.png,curseur3.png,curseur4.png et curseur5.png.
3 Creating a new presentation
All the information regarding the presentation are stored in the same directory, that we
call NaoDirectory. Normaly a NaoDirectory has been deployed when you installed the
software. The folder contains some example presentations , that you can try or modify.
NaoDirectory contains a file named architecture.xml, two pictures and a subdirectory for
each presentation.
Here is a an overview of the NaoDirectory structure:
Figure 3: Overview of the files in NaoDirectory
3.1 Architecture file
This file list all the presentation available and the path. Here is an example of an architec-
ture file.
<? xml version =" 1.0 " encoding =" UTF -8 " ? >
< rep osito ry >
< b ack grou ndI mage > image1.png </ bac kgr oun dIm age >
<welcomeImage>image2.png </welcomeImage>
<introduction>
<nameRep>presI ntro </ na meRep >
<nameXml>presentation.xml </ n ameXml >
</introduction>
<presentation>
<nameRep>presNao</ nam eRep >
<nameXml>presentation.xml </ n ameXml >
<imgPres>robotn ao .jpg </ imgPres >
< im gPre sSel ecte d > robotn aoS .jpg </ imgPre sSe lec ted >
</presentation>
<presentation>
<nameRep>presGR</ nameRep >
<nameXml>presentation.xml </ n ameXml >
<imgPres>logo_GR.png </ im gPres >
< i mgPr esSe lect ed > logo_G RS .png </ imgP res Sel ect ed >
7 Nao Presenter- V2.1.7

</presentation>
</ repo sito ry >
3.1.1 Background pictures
< b ack grou ndI mage > image1.png </ bac kgr oun dIm age >
<welcomeImage>image2.png </welcomeImage>
The first line defines the picture to be displayed when there is nobody in the field of view.
The name image1.png can be modified, but it has to point to an existing file in NaoDirec-
tory.
The second line defines the picture to be displayed when the robot has detected someone
but the interaction has not started yet. The name image2.png can be modified, but it has
to point to an existing file in NaoDirectory.
WARNING: All pictures must be in JPG, PNG or GIF format. They will be displayed in
fullscreen, so their ratio and resolution have to be adapted by the user to the screen used.
3.1.2 Introduction
<introduction>
<nameRep>presI ntro </ na meRep >
<nameXml>presentation.xml </ n ameXml >
</introduction>
The element allows you to define which presentation folder and file should be used when a
user is detected before getting to the selection screen. There can be only one introduction.
3.1.3 Presentations
<presentation>
<nameRep>presNao</ nam eRep >
<nameXml>presentation.xml </ n ameXml >
<imgPres>robotn ao .jpg </ imgPres >
< im gPre sSel ecte d > robotn aoS .jpg </ imgPre sSe lec ted >
</presentation>
This element defines a presentation folder, main file and associated pictures:
•nameRep is the name of the folder containing the files for this presentation.
•nameXml is the name of the file that describes the presentation. It has to be in the
folder defined above.
•imgPres is the image displayed during the selection by the user when the pointer is
not on the image.
•imgPresSelected is the image to be displayed during the selection when the pointer
is on the image . Typically it is a colorized version of the previous one.
WARNING: Only the first 6 presentations are taken into account and displayed on the
selection screen. The user has to adapt the image ratios and dimensions to make them
display properly on their screen. They will be displayed on the screen by order of defini-
tion.
3.2 Presentation folder
Each presentation folder contains the following files:
•A main presentation file which name is defined in architecture.xml (by default it is
called presentation.xml)
8 Nao Presenter- V2.1.7

•An image displayed on the selection screen (associated to the tag imgPres in ar-
chitecture.xml)
•An image displayed on the selection screen when a presentation is selected (asso-
ciated to the tag imgPresSelected in architecture.xml)
•For each language, an XML file describing the content of the presentation.
•1 or more PowerPoint presentations
•(optional) one or more sound files (WAV or MP3)
3.2.1 Main presentation file
Here is an example of the main presentation file:
<? xml version =" 1.0 " encoding =" UTF -8 " ? >
<presentation>
< lan gu age c ategor y ="French">
< spe echFi le > presentationFR.xml </ speechFil e >
</ language >
< lan gu age c ategor y ="English">
< spe echFi le > presentationEN.xml </ speechFil e >
</ language >
</presentation>
It specifies for each language that the robot can use which presentation file to use. Pos-
sible languages are: French, English, Spanish, German, Italian, Chinese, Japanese, Ara-
bic, Russian.
WARNING: Languages have to be installed on the robot. Usually Nao comes with 2
languages: English and an extra language.
3.2.1.1 Selection with voice recognition
It is possible to start a presentation using voice recognition. For this you need to activate
the option UseVoiceReco in the configuration file and add keyword tags for the presen-
tations that you want to trigger containing a list of keywords separated by semicolons (for
each language), for instance:
<? xml version =" 1.0 " encoding =" UTF -8 " ? >
<presentation>
< lan gu age c ategor y ="French">
< spe echFi le > presentationFR.xml </ speechFil e >
<keyword>nao ;robot </ keyword >
</ language >
< lan gu age c ategor y ="English">
< spe echFi le > presentationEN.xml </ speechFil e >
<keyword>nao ;robot </ keyword >
</ language >
</presentation>
In this example, during the selection screen, if the user says one of the keywords ”nao” or
”robot”, this presentation will be started.
WARNING: Each presentation must have its own set of keywords. It is strongly advised
to deactivate speech recognition in noisy environments to avoid unwanted triggering of
presentations.
3.3 Description file
This file describes the different actions to be performed during a presentation : which
PowerPoint file should be opened, what to say, which movement to execute.
9 Nao Presenter- V2.1.7

A presentation contains an initialization followed by any number of steps. Each step can
contain different actions (change the power point slide, make a movement, says some-
thing, wait, ...) All the actions inside a step will be launched at the same time (except if
you use a delay action). The program will wait for every action in a step to be over before
moving on to the next step. Here is a simple example:
<? xml version =" 1.0 " encoding =" UTF -8 " ? >
<speech >
< init >
< mo v > stand </ mov >
< ppt > p ptP res entat ion .ppt </ ppt >
</ init >
< beh av ior >
< step >
< slide >1 </ slide >
<say > Hello ,my name is Nao ,I’m going to tell you about
myself< / say >
</ step >
< step >
<say > I am a human oid robot ,I can move and talk </ say >
</ step >
< step >
< mov > m ouve ment1 </ mov >
< sound > button1.mp3 </ sound >
</ step >
< step >
< slide >2 </ slide >
< sa y > Look at me dancing on this video </ say >
< w ai t_ n ext _sli de / >
</ step >
< step >
<mov > sit </ mov >
</ step >
</ behavior >
</speech>
3.3.1 Initialization
< init >
< ppt > p ptP res entat ion .ppt </ ppt >
< mo v > stand </ mov >
</ init >
During the initialization phase, we select and open a Powerpoint file (which will be opened
on slide 1). We can also specify which position the robot should be into (sit, crouch, ou
stand) using the mov command.
3.3.2 Moving
< mov > m ouve ment 1 </ mov >
Make the robot execute a specific movement. The list of predefined movements is avail-
able in appendix A.
3.3.3 Changing slides
< slide >2 </ slide >
This action allows you to change the slide currently displayed on the powerpoint (slide 2
in this case). You can also use the keyword next instead of a number to jump to the next
slide (if there are no animations on the current slide.
10 Nao Presenter- V2.1.7

3.3.4 Pronouncing text
< sa y > hello </ say >
This action allows the robot to pronounce some text. If no animation is specified in the
step, the robot will perform contextual moves related to your text (for instance pointing to
you or himself on the words me/you).
It is possible to introduce pauses in the text:
< sa y > hello \Pau =2000\ how are you ? </ say >
In this example, we introduce a 2 seconds (2000 milliseconds) delay between ”hello” et
”how are you”.
It is also possible to trigger animations synchronized with your text using the following
syntax:
<say >^ start (anim atio ns /Stand /Gest ures /Hey_1 )hello ^wait(an imations /Stand /
Gestures/Hey_1 )How are you ?
</ say >
In this example, the robot will wave its hand while saying ”hello”, after the animation
terminates it will pronounce ”how are you?”. This features relies on ALAnimatedSpeech,
for more advanced usage refer to Aldebaran documentation available here. The list of
available animations is available on this page. You can also trigger your own custom
animations if they have been installed on the robot.
3.3.5 Playing sound on the robot
< sound > button1.mp3 </ sound >
The robot will play the specified soundfile. The step will terminate only when the sound
has is finished. Sounds must have been deployed on the robot in advance (cf. 4.2).
WARNING: Soundfiles should not contain spaces in their name.
3.3.6 Delays in a step
< delay > 1800 </ delay >
A delay in milliseconds (so here it means 1.8seconds) is introduced before executing the
rest of the actions. This functionality is useful if you want to synchronize your motion with
text or videos.
3.3.7 Triggering Powerpoint animations
<action/>
This command allows you to simulate a click on your power point, in order to launch
animations defined on your powerpoint. If there is no more animations, the presentation
will move to the next slide.
3.3.8 Wait for slide change
< w ai t_ n ext _sli de / >
This command allows you to set the robot in pause mode until the presentation is moved to
the next slide. This is useful for letting a human speak on a slide, and resume presentation
when he manually moves to the next slide. Make sure you configure your Powerpoint
properly so that slides are not passed automatically after a delay.
Another usage is to synchronize with the end of sounds and videos played in Powerpoint.
11 Nao Presenter- V2.1.7

3.3.9 Obtain user input through voice
< step >
<say > Do you want to know what Nao pr esen ter can do ? </ sa y >
< dial ti me Out =" 20 " onTi meOut =" I guess that you don ’t want to continue "
>
< answer key = " yes " varName="{ ans } " varValue =" yes " >super ,lets go <
/ answer >
< answer key = " ok " varName="{ ans } " varVa lue =" yes " >super </answer>
< answer key = " no " varName="{ ans } " varVa lue =" no " >no problem see
you later </answer>
< answer key = "not at all " varName="{ ans }" v arValue =" no " >no
problem see you later </answer>
</ dial >
</ step >
This tag allow the robot to wait for a vocal human answer. In this example, we first ask
to the user ”do you want to know what Nao presenter can do?”, then we wait for a vocal
answer from the user.The following cases can occur:
•After 20 seconds (timeout attribute), we assume that the user has leave, or didn’t
want to answer. In that case Nao will say the text define in onTimeOut: ”I guess that
you don’t want to continue”:
•The user says ”yes” or ”ok”. In that case, the robot says ”super, lets go”, and the
variable ans is created and contains ”yes” (have a look at the if command in order
to use it)
•The user says ”no” or ”not at all”. In that case, the robot replies ”no problem see
you later”, and the variable ans is created and contains ”no” (have a look at the if
command in order to use it)
In all cases the step then terminates.
3.3.10 Conditional execution
< step >
<if condition = " { an s }== no " >
< true >
<say > you said yes </ say >
</ true >
< false >
<say > you said no </ say >
</ false >
</ if >
</ step >
The if command allows you to execute conditional instruction, depending on the value of
a variable. In this example, we check if the variable ans contains the value ”yes”. If this
condition is true, then the elements inside the tag true will be executed. If the condition is
false, the element inside the tag false will be executed.
This command is generally used with the jump or break commands to change the flow of
the presentation.
3.3.11 Stopping the presentation
< break / >
This command allows you to stop the presentation. It is generally used within an if tag.
3.3.12 Jumping to a specific step
< jump > mylabel</ jump >
12 Nao Presenter- V2.1.7

This command allows you to jump to a specific step defined by the attribute label. Asso-
ciated with a if command it allows you to change the flow of the presentation depending
on user input (or other variables). Pour associer un label `
a un step il suffit de lui ajouter
l’attribut label comme ceci :
< step l abel = "mylabel">
For instance you can define a label at the beginning of your presentation, then ask at the
end if the user wants to hear it again, in which case you can jump back to this label
WARNING: Make sure that all your labels are unique inside a presentation.
3.3.13 Playing sounds and videos on the computer
You can play sounds and videos by integrating them inside your Powerpoint presenta-
tion. Make sure to configure the slide properly by making its animations start when it
appears, and moving to the next slide at the end of the sound/video. By doing so you can
then synchronize your robot with the end of the sound/video by using the wait next slide
command in the same step.
3.4 The replacement file
During a presentation, it’s possible to use some replacement words, in order to follow the
easily adapt your presentations to specific events or pieces of information (such as the
name of a visiting person). The file replacementFile.xml, inside NaoDirectory, allows you
to easily define such replacements rules:
<? xml version =" 1.0 " encoding =" UTF -8 " ? >
< main >
< repl ac e tag = "$ VIP " by ="M . Smith " / >
< repl ac e tag = "$ Boss " by =" our C E O " / >
< repl ac e tag = "$ News " by =" our new p roduc ts " / >
</ main >
Each element replace defines the word to be replaced (tag) by another one (by). There-
fore the step:
< step >
< sa y > Hello $VIP ,do you want to hear the annou cement of $Boss about $
News? </ say >
</ step >
will be pronounced: ”Hello M. Smith, do you want to hear the annoucement of our C E O
about our new products”.
WARNING: You can add as many replacement tags as you want, just make sure that they
are all unique and preceded by $.
4 Presentation development
4.1 Testing tool
Its name is NaoPresenterTester, et you can find it in your main program folder. It allows
you to quickly test one or more steps of your presentation. You can use the menu in order
to choose a presentation. You can directly edit the XML. The PlayAll button allow you
to play the complete presentation. The PlaySteps button allow you to test the selected
steps. The Stop button allows you to stop the execution of the current presentation.
WARNING: the file will be automatically saved before each execution, make sure to make
backups.
13 Nao Presenter- V2.1.7

4.2 Deploying sound files to Nao
When a presentation uses a sound tag, the sound is played by the robot. The sound files
must be transffered to the robot before playing them. These transfers can take several
seconds. In order to avoid this waiting time during a presentation, a program allows you
to transfer them beforehand. It is called nao-deploy.bat and is to be found in your presen-
tation folder. This program will ask you your Nao IP address, the Nao password (default
nao) . The program may ask you to enter yes at the question Are you sure you want to
continue connecting ?
The program nao-deploy.bat must be launched each time you modify/move a sound. But
it is not necessary to launch it before each presentation. The soundfiles stay on the robot
hard drive.
5 Troubleshooting
Various issues can arise during a presentation. Here is some advice to avoid or resolve
most of them.
5.1 Nao does not do anything
The network connection between Nao and the computer is very often the source of the
problem.
Make sure the robot has an IP address by pressing its chest button. If it has no IP, connect
it to the Ethernet on a DHCP enabled network, or Ethernet direct link to your computer.
Make sure your computer also has an IP address with the proper settings (Control Panler/
Network Settings).
Once both have an IP address (at least on Ethernet), check the robot configuration for
Wifi settings by going on the Nao configuration webpage at http://IPADDRESS.
If you are using the network name of the robot instead of the IP, you can check that the
name is properly resolved by opening a browser at http://nao.local where ”nao” should
be replaced by your robot name.
You can try to reboot the robot, if the trouble persist, check your network connectivity or
call your network administrator.
Make sure your configuration files points to the proper IP address or name for the robot.
If you have Choregraphe installed you can start it and try to connect with the robot.
5.2 My presentation does not appear
This is generally due to file used for the presentation that cannot be found.
Make sure the presentation has properly been declared in architecture.xml and that all
the files referred to really exist.Try to open and execute it in the Tester.
5.3 Sounds are not played by the robot
Make sure all the sound files have the proper names, without spaces, and are correctly
referred to in your presentation.
14 Nao Presenter- V2.1.7

Make sure to deploy the sounds on the robot (see 4.2).
5.4 NAO does not pronounce all my text
This is generally due to special characters in your text that prevent Nao from pronouncing
the sentence. If you are using special characters (accents, etc...), make sure to edit the
XML files with an editor that uses UTF-8 encoding. In doubt try to remove some of these
characters.
5.5 It still does not work
Sometimes a robot reboot and a computer reboot can help, give it a try.
Otherwise support is provided by G´
en´
eration Robots at the following email address con-
tact@generationrobots.com , or phone number +(33) 5 56 39 37 05 from Monday to Friday
9:00 - 18:00 (GMT+1).
For better support, send us by email the log files, presentation files, or any information
related to your problem.
15 Nao Presenter- V2.1.7

A List of available movements
These movements triggered by the command mov are installed with the behavior. You
can use any of them, but also the generic explain that will trigger any of the 10 explain
animations.
Durations are just indications, as they depend on the current position of the robot.
Name Description Duration Robot position
sit NAO sits 14.0 stand
stand NAO stands 12.0 sit
explain1 hands in front 2.0 stand or sit
explain2 right hand in front, left on
side
2.0 stand or sit
explain3 right hand on hip, left on
side
3.0 stand or sit
explain4 hands in front 3.0 stand or sit
explain5 right hand released, left
forward
3.0 stand or sit
explain6 hands in front 2.0 stand or sit
explain7 hands in front 2.0 stand or sit
explain8 joined hand 3.5 stand or sit
explain9 hands and the sides 3.0 stand or sit
explain10 vertical arm movtion 2.0 stand or sit
showLeft look down, open arms to
the left
2.8 stand or sit
showRight look down, open arms to
the right
2.8 stand or sit
showRightStand right arm to the right 4.3 stand
showLeftStand left arm to the left 4.8 stand
showLeftSit left arm to the left 3.3 sit
showRightSit right arm to the right 3.3 sit
emotionAngrySit shakes its hand 3.8 sit
emotionHappy1Sit waving motion, joy
sound
3.1 sit
emotionHappy2Sit right hand raised up 3.4 sit
emotionHappy3Sit nodding motion 1.7 sit
emotionSurpriseSit move back motion 2.1 sit
emotionLaught1Sit laughing motion and
sound
5.7 sit
emotionLaught2Sit chuckle 2.3 sit
emotionWinnerSit crowd sound, robot
waves with right hand
4.8 sit
meSit points to himself 2.5 sit
youSit points to you 2.8 sit
emotionAnxiousStand join hands, balance on
feet
5.6 stand
emotionCautiousStand stand firm on its feet,
quickly look around
4.3 stand
emotionSad1Stand looks up then down with
sigging sound.
8.0 stand
emotionSad2Stand looks down 5.1 stand
emotionHesitationStand balance on its feet with
vague arm motion
8.9 stand
emotionSuspiciousStand protects with hand and
look around
6.9 stand
emotionSurpriseStand Look surprised and look
around
3.3 stand
16 Nao Presenter- V2.1.7

emotionExcited1Stand applause 3.3 stand
emotionExcited2Stand warms up 6.0 stand
emotionHappy1Stand waving motion, joy
sound
4.2 stand
emotionHappy2Stand moves arm for victory 3.7 stand
emotionHappy3Stand raise up arm 1.7 stand
emotionHappy4Stand nodding 2.2 stand
emotionProudStand left hand on hip 5.7 stand
emotionRelievedStand Swipe his forehead 4.4 stand
emotionShyStand joined hands, bending
forward
7.6 stand
emotionWinner1Stand crowd sound, raise right
arm
4.9 stand
emotionWinner2Stand crowd sound, two arms
raised
6.7 stand
meStand point to itself 1.7 stand
youStand point in front 2.3 stand
hello waves 4.7 stand or sit
saluteStand bend forward for salute 5.9 stand
thinking1Stand hands on hips, looking
down
3.8 stand
thinking2Stand balancing on feet, right
hand on hip
4.0 stand
determinedStand left hand motion to em-
phasize
3.6 stand
emotionShowMuscles1Stand show right biceps stand
emotionShowMuscles2Stand show right biceps stand
emotionShowMuscles3Stand stand
emotionShowMuscles4Stand shows all muscles stand
emotionScratchHeadSit scratch head sit
emotionScratchEyeSit scratch the eye sit
emotionScratchLegSit scratch the leg sit
emotionScratchTorsoSit scratch the torso sit
emotionScratchHandSit scratch the hand sit
17 Nao Presenter- V2.1.7
Table of contents
Other Generation Robots Robotics manuals
Popular Robotics manuals by other brands

Universal Robots
Universal Robots CB3 Kinematic Calibration Manual

YASKAWA
YASKAWA MOTOMAN-MS165 instructions

EFORT
EFORT ER12-4-2000 Operation and maintenance manual

SuperDroid Robots
SuperDroid Robots MLT-JR Assembly and operation

Rowenta
Rowenta X-plorer 40 Series user guide

Kwunphi
Kwunphi Kwun Solarox B30M manual