Programming NAO the humanoid robot
Humanoid robots are robots
with their overall appearances
based on that of the human
body.
Robots are electronic machines
programmed to do things
autonomously.
Choregraphe is a graphical programming software
Virtual robot
Main Plan
Boxes library
Output(s)
Inputs
Settings
A box execute a specific action
They are written in Python language
Boxes can be connected to each other
thanks to their inputs and outputs
Exercise 1 :
Configure and wake up NAO
Exercise 2 :
Program NAO to make him
move and speak
Exercise 3 :
Teach NAO dialog and action
rules
Improve your application and test it on NAO
Place and configure the following boxes:
• Set language (to configure in your language)
• Tactile Head
• Stand Up
Connect the boxes to each others
Drag and connect the Say box
Double-click at the center of the box to edit
it and choose the appropriate language
Write down:
« Ah, finally I wake up. Happy to be here! »
Click on root to come back to the main plan
By right clicking on the main plan, create a new
Timeline box that you name Head Animation
Double-click at the center of the box to
enter the animation mode
We are going to create key frames on the
Timeline and for each, define a position for NAO’s
head
Position your cursor on frame 25 and click
on NAO’s head in the simulator
Adjust the head motor angle
To save the position, right click on the
Timeline and choose Store joints in Key
frame
Repeat the operation every 25 frames to
create the whole animation
Click on Play to test
Save your project on the desktop
Add a Wait box between Stand Up and
Head Animation boxes
Create a new Dialog Box and click on Add a new topic.
Select the language and name it HelloWorld (no space allowed)
A new folder appears in your
project. The first file is your box that
you can drag on the main plan.
Double-click on HelloWorld_enu.top. You will be able to write
there user rules that NAO will have to follow.
User rules have the following structure:
Example: u: (hello) hi human
The rule (:u) states that when NAO hears « hello »
(input) he answers « hi human » (output).
Humain input Robot Output
To optimize the dialog, we can improve the rules structure. Here are some examples:
Example 1: u: (hello robot) hi human
There is 1 input and 1 output
Example 2: u: ([hello greetings howdy]) hi human
There are different possible inputs and one output
Example 3: u: (["hello robot" greetings howdy]) [hi
hey hello]
There are different possible inputs and some are made
of several words and also different outputs
Example 4: u: ([hello greetings howdy]) [hi hey
"hello human"]
There are different possible inputs and also
different outputs with some made of several words
Use the examples to write user rules allowing NAO to introduce himself when asked
Example 1: u: (hello robot) hi human
There is 1 input and 1 output
Example 2: u: ([hello greetings howdy]) hi human
There are different possible inputs and one output
Example 3: u: (["hello robot" greetings howdy]) [hi
hey hello]
There are different possible inputs and some are made
of several words and also different outputs
Example 4: u: ([hello greetings howdy]) [hi hey
"hello human"]
There are different possible inputs and also
different outputs with some made of several words
Dialog rules can be linked to animations.
To do so, we have to create events.
Add the following rules:
u: (Please sit down) ok I sit down $sit=1
u: ([" Wave at me" “Greet people“]) Okay I greet $hello=1
Right click and choose « add output » in the
menu to create a new output
Create two new outputs to the dialog box:
« sit » and « hello » and connect them to the matching boxes

More Related Content

PDF
Second language research qualitative research_ Zahra Farajnezhad
PPTX
Introduction to qualitative research methods
PPTX
Elicitation procedures
PDF
CH 11_The World of English Language Teaching.pdf
PDF
A HISTORICAL DEVELOPMENT OF CONTRASTIVE ANALYSIS: A RELEVANT REVIEW IN SECOND...
PDF
Year 10 Text Analysis Task
PPTX
Vignette Presentation.pptx
PPT
09 Literary Translation #1 Poetry
Second language research qualitative research_ Zahra Farajnezhad
Introduction to qualitative research methods
Elicitation procedures
CH 11_The World of English Language Teaching.pdf
A HISTORICAL DEVELOPMENT OF CONTRASTIVE ANALYSIS: A RELEVANT REVIEW IN SECOND...
Year 10 Text Analysis Task
Vignette Presentation.pptx
09 Literary Translation #1 Poetry

What's hot (9)

PPTX
Introspective techniques
PPTX
How to Avoid Plagiarism ?
PPTX
The belles lettres style
PPTX
NLP_KASHK:N-Grams
PPTX
Untranslatable words
PPTX
Ecolinguistics
PPT
Expository Essay
 
PPTX
Thematic Analysis for Qualitative Research.pptx
PPT
Expository writing
Introspective techniques
How to Avoid Plagiarism ?
The belles lettres style
NLP_KASHK:N-Grams
Untranslatable words
Ecolinguistics
Expository Essay
 
Thematic Analysis for Qualitative Research.pptx
Expository writing
Ad

Viewers also liked (20)

PDF
NAO Programming using .NET and Webots 01-Introduction to NAO
PDF
Programmer le robot humanoïde NAO [French]
PPTX
Devoxx4Kids workshop - Programming a humanoid robot - english version
PPTX
Prezentáció
PPTX
A robotok mozgása
PDF
Robots Need Game Designers (C. Boudier / N. Rigaud)
PDF
Introduction au robot Nao
PDF
[SGPKOR] PLATFORM VS SERVICE
PDF
Robot nao
PPTX
NAO Robot workshop for kids (english)
PPT
Nao robot
PPTX
NAO/Pepper 開発環境 について
PPTX
Pepper アプリデベロッパーのための NAO アプリ開発講座1
PPT
Pitch book presentation 1.2
PPTX
Teste vocacional
PPTX
Meanings mob
PPTX
Chicago artist coalition- Brand Alignment Plan
PDF
Zahid Khattak's CV
PPTX
USP_Disso_Bazil_2013_Method_Final2
PPTX
NAO Programming using .NET and Webots 01-Introduction to NAO
Programmer le robot humanoïde NAO [French]
Devoxx4Kids workshop - Programming a humanoid robot - english version
Prezentáció
A robotok mozgása
Robots Need Game Designers (C. Boudier / N. Rigaud)
Introduction au robot Nao
[SGPKOR] PLATFORM VS SERVICE
Robot nao
NAO Robot workshop for kids (english)
Nao robot
NAO/Pepper 開発環境 について
Pepper アプリデベロッパーのための NAO アプリ開発講座1
Pitch book presentation 1.2
Teste vocacional
Meanings mob
Chicago artist coalition- Brand Alignment Plan
Zahid Khattak's CV
USP_Disso_Bazil_2013_Method_Final2
Ad

Recently uploaded (20)

PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Hybrid model detection and classification of lung cancer
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
The various Industrial Revolutions .pptx
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PPT
What is a Computer? Input Devices /output devices
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
STKI Israel Market Study 2025 version august
Web Crawler for Trend Tracking Gen Z Insights.pptx
Benefits of Physical activity for teenagers.pptx
Hybrid model detection and classification of lung cancer
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Hindi spoken digit analysis for native and non-native speakers
The various Industrial Revolutions .pptx
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Getting Started with Data Integration: FME Form 101
A comparative study of natural language inference in Swahili using monolingua...
O2C Customer Invoices to Receipt V15A.pptx
Taming the Chaos: How to Turn Unstructured Data into Decisions
Final SEM Unit 1 for mit wpu at pune .pptx
What is a Computer? Input Devices /output devices
Getting started with AI Agents and Multi-Agent Systems
Zenith AI: Advanced Artificial Intelligence
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
DP Operators-handbook-extract for the Mautical Institute
Developing a website for English-speaking practice to English as a foreign la...
STKI Israel Market Study 2025 version august

Programming NAO the humanoid robot

  • 2. Humanoid robots are robots with their overall appearances based on that of the human body. Robots are electronic machines programmed to do things autonomously.
  • 3. Choregraphe is a graphical programming software Virtual robot Main Plan Boxes library
  • 4. Output(s) Inputs Settings A box execute a specific action They are written in Python language Boxes can be connected to each other thanks to their inputs and outputs
  • 5. Exercise 1 : Configure and wake up NAO Exercise 2 : Program NAO to make him move and speak Exercise 3 : Teach NAO dialog and action rules Improve your application and test it on NAO
  • 6. Place and configure the following boxes: • Set language (to configure in your language) • Tactile Head • Stand Up Connect the boxes to each others
  • 7. Drag and connect the Say box Double-click at the center of the box to edit it and choose the appropriate language Write down: « Ah, finally I wake up. Happy to be here! » Click on root to come back to the main plan
  • 8. By right clicking on the main plan, create a new Timeline box that you name Head Animation Double-click at the center of the box to enter the animation mode We are going to create key frames on the Timeline and for each, define a position for NAO’s head
  • 9. Position your cursor on frame 25 and click on NAO’s head in the simulator Adjust the head motor angle To save the position, right click on the Timeline and choose Store joints in Key frame Repeat the operation every 25 frames to create the whole animation
  • 10. Click on Play to test Save your project on the desktop Add a Wait box between Stand Up and Head Animation boxes
  • 11. Create a new Dialog Box and click on Add a new topic. Select the language and name it HelloWorld (no space allowed) A new folder appears in your project. The first file is your box that you can drag on the main plan.
  • 12. Double-click on HelloWorld_enu.top. You will be able to write there user rules that NAO will have to follow. User rules have the following structure: Example: u: (hello) hi human The rule (:u) states that when NAO hears « hello » (input) he answers « hi human » (output). Humain input Robot Output
  • 13. To optimize the dialog, we can improve the rules structure. Here are some examples: Example 1: u: (hello robot) hi human There is 1 input and 1 output Example 2: u: ([hello greetings howdy]) hi human There are different possible inputs and one output Example 3: u: (["hello robot" greetings howdy]) [hi hey hello] There are different possible inputs and some are made of several words and also different outputs Example 4: u: ([hello greetings howdy]) [hi hey "hello human"] There are different possible inputs and also different outputs with some made of several words
  • 14. Use the examples to write user rules allowing NAO to introduce himself when asked Example 1: u: (hello robot) hi human There is 1 input and 1 output Example 2: u: ([hello greetings howdy]) hi human There are different possible inputs and one output Example 3: u: (["hello robot" greetings howdy]) [hi hey hello] There are different possible inputs and some are made of several words and also different outputs Example 4: u: ([hello greetings howdy]) [hi hey "hello human"] There are different possible inputs and also different outputs with some made of several words
  • 15. Dialog rules can be linked to animations. To do so, we have to create events. Add the following rules: u: (Please sit down) ok I sit down $sit=1 u: ([" Wave at me" “Greet people“]) Okay I greet $hello=1 Right click and choose « add output » in the menu to create a new output Create two new outputs to the dialog box: « sit » and « hello » and connect them to the matching boxes